触发器作用:

当满足触发器条件,则系统自动执行触发器的触发体。

触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。

它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。

如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。 




介绍;


触发时间: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 ;