1、查看 当前存在的触发器
SHOW TRIGGERS;//查看所有触发器 SHOW TRIGGERS [FROM schema_name];//查看指定表的触发器
2、删除触发器
drop trigger 数据库名称.触发器名称
3、触发器不可更改 只能删除后再出新新建触发器
4、创建触发器
CREATE TRIGGER trigger_name
trigger_time
trigger_event ON tbl_name
FOR EACH ROW
trigger_stmt
trigger_name:用来表示触发器的名称,可以自己设计
trigger_time:标识触发器的触发时机,取值是BEFORE或AFTER
trigger_event:标识触发事件,取值为INSERT,UPDATE和DELETE
tbl_name:标识建立触发器的表名,即在哪张表上建立触发器
trigger_stmt:触发器程序体,可以是一句SQL语句,或者用 BEGIN 和 END 包含的多条语句。
由此可见,可以建立6种触发器,即:BEFORE INSERT、BEFORE UPDATE、BEFORE DELETE、AFTER INSERT、AFTER UPDATE、AFTER DELETE。
不能在一个表中建两个相同类型的触发器,所以一个表最多只能建6个触发器;
5、触发器程序体中获取值
old 代表旧记录,new 代表新的定单记录
6、实例
1)单条语句触发
create trigger mysqlstudy.userTest AFTER UPDATE on user for EACH ROW UPDATE user_copy set name=new.name where id=new.id
2)多条语句触发
create trigger mysqlstudy.userTest AFTER UPDATE on user for EACH ROW BEGIN UPDATE user_copy set name=new.name where id=new.id; UPDATE user_copytwo set name=new.name where id=new.id; END