> 数据库 > MySQL >

mysql触发器trigger

1、触发器(trigger)的概念

触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。

2、mysql触发器格式为:

 

1
2
3
4
5
6
<b>CREATE TRIGGER trigger_name
trigger_time
trigger_event
ON tbl_name
FOR EACH ROW
trigger_stmt</b>

 

其中trigger_name标识触发器名称,用户自行指定;

  trigger_time标识触发时机,用before和after替换; 
  trigger_event标识触发事件,用insert,update和delete替换; 
  tbl_name标识建立触发器的表名,即在哪张表上建立触发器; 
  trigger_stmt是触发器程序体;

 

触发器程序可以使用begin和end作为开始和结束,中间包含多条语句;

 

3、查看触发器:

 

 
1
show triggers;

4、删除触发器:

 
1
DROP TRIGGER trigger_name;

 

5、例子:向user插入数据后,同时也向pwd插入数据

 

 
1
2
3
4
5
6
7
8
delimiter $
create  trigger trigger_ser AFTER insert on user
for each row
BEGIN
insert into pwd set userid=new.id , passwd ="rrr";
END
$
delimiter ;

测试:

 
1
insert into user (name,password) values ("tian","123456");
结果,user和pwd表中各增加一条数据。
 
(责任编辑:IT)