触发器是由INSERT、UPDATE、DELETE等时间来触发某种特定操作。满足触发器的触发条件时,数据库系统就会执行触发器中定义的程序语句。这样做可以保证某些操作之间的一致性。如,当学生表中增加了一个学生信息,学生的总数会同时改变。
一、创建只有一个执行语句的触发器
CREATE TRIGGER 触发器名称 BEFORE|AFTER 触发事件
ON 表名 FOR EACH ROW 执行语句
其中BEFORE指在触发事件之前执行触发语句;AFTER指在触发时间之后执行触发语句;触发事件包括INSERT、UPDATE、DELETE;
表名指触发事件操作的表的名称;FOR EACH ROW 表示任何一条记录上的操作满足触发事件都会触发该触发器;执行语句指 触发器被触发后执行的程序。
二、创建有多个执行语句的触发器
CREATE TRIGGER 触发器名称 BEFORE|AFTER 触发事件
ON 表名 FOR EACH ROW
BEGIN
执行语句列表
END
因为触发器中常用到`;`,所以可以使用DELIMITER &&,将结束符变为&&,当触发器创建完成后,可以用命令恢复。
一个表在相同的触发时间的相同触发事件,只能创建一个触发器。
查看触发器 SHOW TRIGGERS;
所有的触发器定义都保存在information_schema数据库中的triggers表中。
删除触发器 FROP TRIGGER 触发其名;