触发器作用:
当满足触发器条件,则系统自动执行触发器的触发体。
触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。
它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。
如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
介绍;
触发时间:before/after
触发条件:insert/update/delete
触发类型:行触发、语句触发
行级触发器对DML语句影响的每个行执行一次。
(:NEW 和:OLD使用方法和意义:
new 只出现在insert和update时,old只出现在update和delete时。
在insert时new表示新插入的行数据,update时new表示要替换的新数据、old表示要被更改的原来的数据行,
delete时old表示要被删除的数据。)
语句级触发器对每个DML语句执行一次,如果一条INSERT语句在TABLE表中插入500行,
那么这个表上的语句级触发器只执行一次,而行级的触发器就要执行500次了。
语法(基于MYSQL5.6 以下例子是行触发):
DELIMITER $$ CREATE /*[DEFINER = { user | CURRENT_USER }]*/ TRIGGER database.table BEFORE/AFTER INSERT/UPDATE/DELETE ON database.tableFOR EACH ROW BEGIN END$$ DELIMITER ;