MySQL 触发器

来源:互联网 发布:霍纳算法 编辑:程序博客网 时间:2024/04/29 14:27

查看触发器

show triggers;

删除触发器

drop trigger [if exists] [schema_name.]trigger_name;

修改触发器

触发器不能被更新或者覆盖,若要修改,则需先删除然后再创建。


创建触发器

create trigger TRIGGER_NAMEafter | before-- 触发时间insert | update | delete-- 监视操作on TBL_NAME-- 监视哪个表for each row-- 行级触发器beginstatement;...end;

监视的操作:

insert | update | delete

触发的操作:

insert | update | delete


触发器中可以使用的行变量:

insert:   new.COLUMN_NAME

update: new.COLUMN_NAME  或者  old.COLUMN_NAME

delete:  old.COLUMN_NAME


注意:

1. 只有表支持触发器,视图、临时表均不支持

2. 每个表最多能创建 6 个触发器,[ after | before ] X [ insert | update | delete ]

3. 对于 before 类型的触发器, 如果 before 触发器执行失败, 则触发触发器的 SQL 也会执行失败

4. 若 SQL 执行失败, 则 after 型的触发器不会执行

5. 对于事务性表 ( InnoDB 引擎), 如果触发器中的 SQL 或者引发触发器的 SQL 执行失败, 则事务会回滚. 对于非事务

性表, 即使语句失败, 失败之前所做的任何修改依然有效.


0 0
原创粉丝点击