创建触发器的语法如下:
CREATE TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_stmt
trigger_time 是触发器的触发时间,可以是BEFORE 或者AFTER,BEFORE 的含义指在检查约束前触发,而AFTER 是在检查约束后触发。
而trigger_event 就是触发器的触发事件,可以是INSERT、UPDATE 或者DELETE。
对同一个表相同触发时间的相同触发事件,只能定义一个触发器。
触发器只能创建在永久表(Permanent Table)上,不能对临时表(Temporary Table)创建触发器。
举例
DELIMITER $$
CREATE TRIGGER ins_film
AFTER INSERT ON film FOR EACH ROW BEGIN
INSERT INTO film_text (film_id, title, description)
VALUES (new.film_id, new.title, new.description);
END;
$$
delimiter ;
删除触发器
mysql> drop trigger ins_film;