MySQL之触发器

一:什么是触发器?

触发器是个特殊的存储过程,不同的是,执行存储过程要使用CALL语句来调用,而触发器的执行不需要调用使用CALL语句来调用,也不需要手工启动,只要当一个预定义的事件发生的时候,就会被MySQL自动调用。

二:触发器的相关操作

1:创建只有一个执行语句的触发器

语法如下:

创建account表,ins_sum触发器,插入数据,显示触动触发器之后的结果,具体sql语句如下:

2:创建有多个执行语句的触发器

语法如下:

创建test1,test2,test3三张表,testref触发器,插入数据,显示触动触发器之后的结果,具体sql语句如下:

3:查看触发器

查看触发器是指数据库中已存在的触发器的定义、状态、语法信息等。

可以使用SHOW TRIGGERS 和在TRIGGERS 表中查看触发器信息

EVENT表示激活触发器的事件,这里的触发事件为插入操作INSERT,TABLE表示激活触发器的对象表,这里为account 和test1表。

Timing表示触发器的时间,为插入之前(BEFORE);Statement 表示触发器执行的操作,还有一些其他信息,比如SQL模式,触发器的定义帐户和字符集等。

4:删除触发器

语法如下:

删除ins_sum触发器:

删除之后的结果:

5:创建触发器的注意事项

对于相同的表,相同的事件只能创建一个触发器,比如对表account创建了BEFORE INSERT触发器

那么如果对表account再次创建一个BEFORE INSERT触发器,MYSQL就会报错,此时,只可以在表account上

创建AFTER INSERT或者BEFORE UPDATE类型的触发器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值