MySQL触发器 使用

文章目录

    • 了解什么是MySQL触发器
    • 为什么要使用MySQL触发器
    • 添加
    • 删除
    • 修改
    • 常见的问题以及解决方式

了解什么是MySQL触发器

   是由事件来触发某种特定操作,其中事件包含insert语句,update语句和Delete语局等语句,数据库执行这些事假时,就会激活触发器执行相关的操作,可以保证某些操作之间的一致性

为什么要使用MySQL触发器 

   好处 :

  • 数据完整性保护:通过在触发器中定义约束和验证逻辑,可以确保在数据插入、更新或删除时满足特定的业务规则,从而保护数据的完整性和一致性。
  • 自动化操作:触发器可以自动执行一些常见的数据库操作,如数据验证、数据转换、数据计算等,从而减少编写重复代码的工作量。
  • 数据审计和日志记录:触发器可以记录对数据库表的修改操作,包括修改前后的数据值、修改时间、修改者等信息,这些信息可以用于审计和追踪数据变更。
  • 替代定时任务:在某些情况下,可以使用触发器替代定时任务来执行一些周期性的数据库操作,如定期清理数据、定期更新数据等。

坏处:

  • 难以维护和调试:在数据库内部执行的,不易进行调试和维护。当触发器的逻辑出现问题时,排查问题可能会比较困难,尤其是当涉及多个触发器时。
  • 可能影响性能:触发器的执行需要消耗数据库的资源,当触发器的逻辑复杂或数据量大时,可能会影响数据库的性能。此外,如果触发器中的操作涉及大量的数据读取或写入操作,可能会增加数据库的I/O负担。
  • 可能产生死锁:如果在触发器中使用了锁机制,可能会产生死锁现象,进而影响数据库的稳定性。因此,在使用触发器时需要谨慎考虑是否需要使用锁机制,并确保触发器的逻辑不会导致死锁。
  • 隐式调用容易被忽视:触发器的隐式调用容易被忽视,这可能导致在数据修改时未执行预期的触发器操作,从而引发数据不一致或其他问题。

添加

  • 这时你观看自己的表就会发现 写在触发器中的表 会在你运行完添加语句后自动添加
  • 再添加时也可以写成多个添加

删除

  • OLD 引用被删除行的值的关键字只删除与OLD.值匹配的数据

修改

常见问题

1.This version of MysQL doesn't yetsupport 'multiple triggers with the same actiontime and event for one table

  • 对一个表具有相同动作时间和事件的多个触发器
  1. 你可以通过
  2. 输入use 你所需要进入的库名 ; 注意这里的;不可以忘记
  3. 查询所有的触发器的命令是 show triggers;
  4. 删除的触发器的命令是 ***drop trigger 这里就是;
  5. 之后重新运行就可以了

2. This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'

这个版本的MysQL还不支持“同一个表具有相同动作时间和事件的多个触发器

  • 解决方式跟上一个问题一样查询到删除即可
  • 34
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值