Mysql 触发器

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

 

posted @ 2019-07-17 10:49  我爱香香  阅读(296)  评论(0编辑  收藏  举报