mysql 创建触发器

时间:2021-03-25 10:59:38

创建触发器的语法如下:
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;