定义:
触发器(trigger)是MySQL提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete, update)时就会激活它执行。
以上是度娘的答案
我的理解:一件的事务的发生 触发 另一件事情的发生 ,就类似开关
作用场所:触发器经常用于加强数据的完整性约束和业务规则等。
触发器的四个属性:
监视地点:即你要操作的表table;
监视事件:即哪个操作(一系列写操作)
触发时间:即什么时候开始触发(after/before)
触发事件:即开始之后要做的事情(一系列写操作)
了解了触发器的基本概念之后就是对他的一系列操作
第一:创建触发器
基本语句:CREATE TRIGGER 触发器名 触发时刻 触发事件 ON 表名 FOR EACH ROW 触发器动作
这里解释一下FOR EACH ROW
FOR EACH ROW:这个声明用来指定,对于受触发事件影响的每一行,都要激活触发器的动作
第二:大家应该能注意到 触发都是写操作,通俗一点就是增删改,MySQL触发器对于不同的操作都有相关的规定:
对于INSERT触发事件,只有NEW是合法的;对于DELETE触发事件,只有OLD才合法;而UPDATE触发事件可以与NEW或OLD同时使用。
注:在MySQL触发器中的SQL语句可以关联表中的任意列。但不能直接使用列的名称去标志,那会使系统混淆,因为激活触发器的语句可能已经修改、删除或添加了新的列名,而列的旧名同时存在。因此必须用“NEW.列名”引用新行的一列,用“OLD.列名”引用更新或删除它之前的已有行的一列。
先写这么点吧 后续有补充会及时补上!