Mysql触发器
1)它与表紧密相连,可以看作表定义的一部分;
2)它不能通过名称被直接调用,更不允许带参数,而是当用户对表中的数据进行 增删改操作时,自动执行;
3)它可以用于约束、默认值和规则的完整性检查,实施更为复杂的数据完整性约束。
创建触发器语法格式:
CREATE TRIGGER 触发器名 触发时间 触发事件
ON 表名 FOR EACH ROW
触发器动作
1.触发时间:
触发器触发的时刻,有两个选项:AFTER和BEFORE,以表示触发器是在激活它的语句之前或之后触发。
after是先完成数据的增删改,再触发动作,触发的语句晚于监视的增删改操作,无法影响前面的增删改动作;
before是先完成触发,再增删改,触发的语句先于增删改的操作,我们可以提前判断即将发生的操作。
2.触发事件:
指明了激活触发程序的语句的类型。触发事件可以是下述值之一:
INSERT:将新行插入表时激活触发器。
UPDATE:更改某一行时激活触发器。
DELETE:从表中删除某一行时激活触发器。
3.触发器动作:
包含触发器激活时将要执行的语句。如果要执行多个语句,可使用BEGIN … END复合语句结构。这样,就能使用存储过程中允许的相同语句。