MySQL笔记四 触发器

8 篇文章 0 订阅
7 篇文章 0 订阅

4 触发器

触发器(TRIGGER)是由事件来触发某个操作。这些事件包括insert语句、delete语句和update语句。当数据库系统执行这些时间时就会激活触发器执行相应的操作。满足触发器的触发条件时,数据库系统就会执行触发器中定义的程序语句。这样做可以保证某些操作之间的一致性。

4.1 创建触发器

在MySQL中创建只有一个执行语句的触发器的基本形式如下:

CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件

ON 表名 FOR EACH ROW 执行语句

其中,触发器名指要创建的触发器的名称,BEFORE和AFTER参数指定了触发器执行的时间,BEFORE参数指在触发事件之前执行触发语句,AFTER参数指在触发事件之后执行触发语句,其中包括insert、update和delete;表名参数指触发器事件操作的表的名称;FOR EACH ROW表示任何一条记录上的操作满足触发事件都会触发该触发器;执行语句参数指触发器被触发后执行的程序。

创建有多个执行语句的触发器:在MySQL中创建有多个执行语句的触发器的基本语句如下:

CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件

ON 表名 FOR EACH ROW

BEGIN

执行语句列表

END

其中,BEGIN和END之间的执行语句列表参数表示需要执行的多个执行语句的内容。不同的执行语句之间用分号隔开。

TIPS:一般情况下,MySQL默认是以“;”作为结束执行语句。在创建触发器过程中需要用到“;”。未解决这个问题,可以使用DELEMITER语句。如“DELIMITER &&”,可以将结束符号变成“&&”。当触发器创建完成后,可以用命令“DELIMITER;”来将结束符号变成“;”。

4.2 查看触发器

查看触发器的语法包括SHOW TRIGGERS语句和查询information_schema数据库下的triggers表等。

 SHOW TRIGGERS语句

基本语法是:SHOW TRIGGERS;

显示所有触发器的基本信息

 在triggers表中查看触发器信息

语句如下:select * from information_schema.triggers;

其中,*表示查询所有的列的信息。“information_schema.triggers”表示information_schema数据库下面的triggers表。

该方法显示所有触发器的详细信息。同时,该方法可以查询指定触发器的详细信息,语句基本形式如下:

select * from information_schema.triggers where TRIGGER_NAME=’触发器名’;

其中,触发器名指要查看的触发器的名称,需要用单引号引起来。

4.3 触发器的使用

在MySQL中,触发器的执行顺序是BEFORE触发器、表操作(INSERT、UPDATE和DELETE)和AFTER触发器。在激活触发器时,对触发器中的执行语句存在一些限制。如触发器中不能包含START TRANSACTION、COMMIT或ROLLBACK等关键词,也不能包含CALL语句。

在触发器执行过程中,任何步骤出错都会阻止程序向下执行。但是对于普通表来说,已经更新过的记录是不能回滚的。更新后的数据将继续保存在表中。

4.4 删除触发器

使用DROP TRIGGER语句删除触发器,基本形式如下:

DROP TRIGGER 触发器名;

其中,触发器名参数指要删除的触发器的名称。如果只指定触发器名称,数据库系统会在当前数据库下查找该触发器。如果找到,就执行删除;如果指定数据库,数据库系统就会到指定的数据库下去查找触发器。

如果不再需要某个触发器,一定要将触发器删除。如果没有将这个触发器删除,那么每次执行触发器事件时,都会执行触发器中的执行语句。执行语句会对数据库中的数据进行操作,这会造成数据的变化。因此,一定要删除不需要的触发器。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值