Mysql中触发器用来在某些操作时,自动执行一些操作
当insert update delete 设置触发器之后,执行insert,update,delete操作时就会自动触发设置的内容
一张表最大能有6个触发器(3中操作*两种时间)
定义触发器的语法:
create trigger 触发器名 before|after 事件 on 表名 for each row 触发器语句;
*触发器名 建议为trigger_xxx,便于区分,触发器名不能重复
*事件就是 insert,update,delete其中一种
*触发器语句就是触发器触发时要执行的语句
*如果有多个触发语句,需将多条触发语句包含在begin end中
*Mysql中 ; 为默认结束符,命令行使用多个触发语句时应当使用delimiter修改语句结束符
Mysql查看触发器
1.查看所有的触发器: show triggers;
2.在information_schaema表中查看trigger表: select * from triggers;
3.查看触发器的创建语句: show create trigger 触发器名;
4.删除触发器: drop trigger 触发器名;
示例:
student 为原表, student2为接收触发器语句执行结果的表
delimiter // #修改语句结束符为 //
create trigger trigger_stu after insert on student for each row
begin
insert student2 values('nanme','studentid','gender');
insert student2 values('nanme2','studentid2','gender2');
end//
delimiter ; #将结束符改回;