第五章 触发器

创建触发器

语法:

create trigger 触发器名 before|after 触发事件 on 表名 for each row 执行语句

   

注:在同一个触发时间只能有一个触发事件,比如insert时间的before只能有一个出发事件

先创建一个trigger_time表:

mysql> create table trigger_time( insert_time datetime);

   

   

   

   

创建只有一个执行语句的触发器

创建触发器:

   

mysql> create trigger dept_trig1 before insert on department for each row insert into trigger_time values(now());

   

这样,当向department表插入一条记录时,就会向trigger_time表插入当前时间。

   

创建有多个执行语句的触发器

语法:

create trigger 触发器名 before|after 出发事件 on 表明 for each row

begin

执行语句列表

end

   

注:mysql默认以";"作为结束。在创建触发器的过程中需要用到";",为解决这个问题,可以先使用"delimiter &&"将结束符变成&&,触发器创建后使用"delimiter ;"将结束符变成";"。

   

mysql> delimiter &&

mysql> create trigger dept_trig2 after delete on department for each row

-> begin

-> insert into trigger_time values(now());

-> insert into trigger_time values(now());

-> end

-> &&

 

查看触发器

语法:

show triggers;

   

   

删除触发器

语法:

drop trigger 触发器名;

posted @ 2016-05-24 21:37  且听风吟-wuchao  阅读(171)  评论(0编辑  收藏  举报