MySQL触发器

Posted 宁静淡泊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL触发器相关的知识,希望对你有一定的参考价值。

mysql触发器

概念:由事件触发某些操作。事件有三种:INSERTDELETEUPDATE

当数据库执行这些事件时,会激活触发器执行相应的操作。

注:MySQL5.02版本开始支持触发器。

 

1、创建单条执行语句的触发器

CREATE TRIGGER 触发器名 <BEFORE | AFTER>  <INSERT | DELETE | UPDATE>

ON 表名 FOR EACH ROW  <执行语句>;

 

BEFORE 表示在事件发生之前执行触发器相应的操作。

AFTER  表示在事件发生之后执行触发器相应的操作。

<INSERT | DELETE | UPDATE> :事件的触发条件,三选一。

执行语句:出发事件所要执行的语句。

 

2、 创建有多条执行语句的触发器

CREATE TRIGGER 触发器名 <BEFORE | AFTER>  <INSERT | DELETE | UPDATE>

ON 表名 FOR EACH ROW

BEGIN

执行语句1;

执行语句2;

... ...

执行语句n;

END;

 

3、 查看触发器

SHOW TRIGGERS;

 

4、 查看triggers表中的触发器

MySQL所有的触发器都存放在triggers表中

SELECT * FROM information_schema.triggers \G

注:information_schema.triggers表示information_schema数据库下的triggers表。

此语句为跨数据库查询。

5、 触发器执行顺序

a) 执行BEFORE触发器相应的<执行语句>

b) 执行<INSERT | UPDATE | DELETE>

c) 执行AFFTER触发器相应的<执行语句>

 

6、 删除触发器

DROP TRIGGER 触发器名;

以上是关于MySQL触发器的主要内容,如果未能解决你的问题,请参考以下文章

怎么在Dbeaver中创建mysql 触发器

请教mysql中触发器的写法

mysql触发器使日期相加减?

mysql添加触发器后无法插入数据的问题

MySQL触发器

猎八哥浅谈MYSQL触发器