MySQL 触发器

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。MySQL 触发器,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

概述

触发器是 MySQL 的数据库对象之一,不需要程序调用或手工启动,而是由事件来触发、激活,从而实现执行,包括 INSERT 语句、UPDATE 语句和 DELETE 语句

创建触发器

1. 创建有一条执行语句的触发器

CREATE trigger trigger_name BEFORE|AFTER trigger_EVENT
ON TABLE_NAME FOR EACH ROW trigger_STMT
  • 参数 trigger_name 表示要创建的触发器名
  • 参数 BEFORE 和 AFTER 指定触发器执行时间,分别表示触发器事件之前或之后执行
  • 参数 trigger_EVENT 表示触发事件,包括 INSERT 语句、UPDATE 语句和 DELETE 语句
  • 参数 TABLE_NAME 表示触发事件的操作表名
  • 参数 FOR EACH ROW 表示任何一条记录的操作满足触发事件都会触发该触发器
  • 参数 trigger_STMT 表示激活触发器后被执行的语句

2. 创建包含多条执行语句的触发器

CREATE trigger trigger_name BEFORE|AFTER trigger_EVENT
ON TABLE_NAME FOR EACH ROW
BEGIN 
trigger_STMT
END

和只有一条执行语句相比,该语法多出两个关键字 BEGIN 和 END,中间是所要执行的多个执行语句的内容,执行语句之间用分号隔开

在 MySQL 中,一般用分号作为语句的结束符号,可是在创建触发器时,需要用分号作为执行语句的结束符号,为了解决这个问题,可以使用关键字 DELIMITER 语句重新设置结束符

查看触发器

通过 SHOW TRIGGER 语句查看触发器

SHOW TRIGGER \G

执行完该语句会显示一个列表,其中:

  • 参数 Trigger 表示触发器名称
  • 参数 Event 表示触发器的激发时间
  • 参数 Table 表示触发器对象触发事件所操作的表
  • 参数 Statement 表示触发器激活时执行的语句
  • 参数 Timing 表示触发器所执行的时间

也可以通过查看系统表 triggers 查看触发器

SELECT * FROM INFORMATION_SCHEMA.TRIGGERS \G

删除触发器

删除触发器可用通过 SQL 语句 DROP TRIGGER 来实现

DROP TRIGGER trigger_name

参数 trigger_name 表示所要删除的触发器名称

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/200074.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!