MySQL自学笔记6--触发器
来源:互联网 发布:it程序员学徒干什么的 编辑:程序博客网 时间:2024/04/27 23:04
MySQL自学笔记
使用MySQL 5.5以及MySQL自带命令客户端
触发器:trigger
MySQL中,触发器用来监视某种情况并出发某种操作
比如在一个电子商务中,下订单后库存应该相应的减少,这两个逻辑可以看作是一个整体。
触发器可以监视:增、删、改,可以触发的操作:增、删、改
* 触发器有如下四要素:
1. 监视地点
2. 监视事件
3. 触发时间
4. 触发事件
创建触发器
语法格式如下:create trigger triggerName //触发器名称after/before //触发时间insert/update/delete //监视事件on tableName //监视地点for each row beginSQL语句 # 一句或者多句,得在insert/update/delete 范围内 //触发事件end;# MySQL默认是以英文分号`;`作为结束符,但是如果SQL语句有多句的话,可以修改一下结束符,在SQL中用`;`作为一个句子的结束,在整个语句最后用新设置的结束符来结束# 修改结束符:比如将结束符修改为`$`:`delimiter $`
删除触发器:
drop trigger triggerName;
查看触发器:
show triggers;
触发时间的区别:before/after
- before:在监视事件前触发,即触发的语句先于监视的增、删、改,这样就有机会判断修改即将发生的操作
- after:在监视事件后触发,即触发语句是在监视的事情完成后才发生,其无法影响监视事件的动作
在触发器中引用行的值
- insert:对insert而言,新增加的行,用
new
来表示,对行中列的值用new.colName
来表示 - delete:对delete而言,原来的行被删掉了,想要引用被删掉的这一行数据,可以使用
old
来表示,对行中的数据用old.colName
来表示 - update:对update而言,对于被修改的行,引用修改前的数据用
old.colName
,引用修改后的数据用new.colName
- insert:对insert而言,新增加的行,用
使用场合:
- 向一张表中添加或者删除记录时,需要在相关表中进行同步操作
- 当表上某列数据和其他表中的数据有联系的时候。比如可以通过设计触发器判断客户累计欠款是否超出最大限度
- 需要对某一张表进行跟踪的时候
0 0
- MySQL自学笔记6--触发器
- MYSQL自学笔记
- Mysql自学笔记一
- Mysql自学笔记二
- Mysql自学笔记三
- Mysql自学笔记四
- mysql自学笔记
- MySql自学笔记
- MySQL学习笔记6(触发器)
- mysql笔记 五 触发器
- MySQL笔记(MYSQL触发器)
- MySQL自学笔记1--基础知识
- MySQL学习笔记15:触发器
- 笔记-mysql 过程和触发器
- MySQL学习笔记15:触发器
- 《MySQL必知必会学习笔记》:触发器
- 我的mysql触发器笔记
- MySQL学习笔记 4 -触发器、MySQL视图
- 第十二章 Bitmap的加载和Cache
- poj 1017 packets (贪心)
- C++编程优化——让你的代码飞起来
- RecycleView调用notifyDataSetChanged在Tv端焦点丢失问题
- 如何做性能优化?
- MySQL自学笔记6--触发器
- 第十三章 综合技术
- Java中的Iterator(迭代器)的用法
- lucene学习笔记(三)lucene搜索查询
- 算法之路三:HUD OJ:2007
- 从零实现一个最精简的select网络服务模型
- 第十五章 Android性能优化
- Java环境变量设置解析
- ZZY的八皇后