解决mysql级联删除时不会启动delete触发器

目前mysql 5.* 版本在级联删除时不会执行delete触发器,当外键级联删除后没有启动触发器可能会产生一些垃圾数据,这些垃圾数据可能因为某些原因(性能或并发控制)而创建了该表,例如设计一个统计表,当某表新增或删除记录时需要该统计表需要有相应的统计变化时,一般会在该表上创建一个触发器,当触发某个条件时会执行统计sql语句,如果该表设置了其他表的级联外键,当其他表删除主键时,该表外键会级联删除,但却不执行该表的删除触发器。

比如 A、B 两个表,A 是主键表,B 是外键表,级联删除。

那么 A 表中的记录被删除时,B 表中对应的记录也将被自动删除,如果 B 表中有针对 DELETE 的触发器,这个触发器不会被执行,

解决技巧:

在A表中创建一个触发器间接触发B的触发器。例如:

DROP TRIGGER /*!50032 IF EXISTS */ trigger_job_delete$$
CREATE

 TRIGGER `trigger_job_delete` BEFORE DELETE ON `A` FOR EACH ROW BEGINDELETE FROM B WHERE  id=OLD.id;

END;

解决mysql级联删除时不会启动delete触发器相关推荐

  1. MySQL中的级联删除与更新策略on delete restrict on update restrict

    MySQL中的级联删除与更新策略on delete restrict on update restrict 在MySQL中,当我们执行级联删除与级联更新时,可能会执行On Delete Restric ...

  2. 解决MySQL导入数据时遇到secure-file-priv的问题

    解决MySQL导入数据时遇到secure-file-priv的问题 参考文章: (1)解决MySQL导入数据时遇到secure-file-priv的问题 (2)https://www.cnblogs. ...

  3. mysql导入数据表越来越慢,快速解决mysql导数据时,格式不对、导入慢、丢数据的问题...

    快速解决mysql导数据时,格式不对.导入慢.丢数据的问题 如果希望一劳永逸的解决慢的问题,不妨把你的mysql升级到mysql8.0吧,mysql8.0默认的字符集已经从latin1改为utf8mb ...

  4. Mysql 级联删除失败

    级联删除是在有外键约束的时候使用的,当我们使用外键约束的时候,删除一条数据时可能会删除不成功,因为外键约束,但是如果使用级联删除时,会同时将两张表里的数据都给删除,更新也是如此 创建一个数据表,设置外 ...

  5. mysql级联删除_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目

    触发器(Trigger)的起源 MySQL是最受欢迎的开源RDBMS,被社区和企业广泛使用.触发器是MySQL在5.0.1(开天辟地一版本)中增加的三大新功能之一,另外两个师兄弟是视图(view)与存 ...

  6. mysql级联删除_近百道MySQL面试题和答案(2020收藏版)(完结篇)

    7. 什么是死锁?怎么解决? 死锁是指两个或多个事务在同一资源上相互占用,并请求锁定对方的资源,从而导致恶性循环的现象. 常见的解决死锁的方法 1.如果不同程序会并发存取多个表,尽量约定以相同的顺序访 ...

  7. mysql级联删除_每天学一点学点MySQL数据库之第二节

    三.快速安装运行MySQL数据库 MySQL以前一直是开源免费的,被Oracle收购后有些变化:以前的版本都是免费的,社区版按GPL协议开源免费,商业版提供更加丰富的功能,但收费. 社区版的下载地址: ...

  8. mysql级联删除外键约束_MySQL外键约束、级联更新、级联删除

    MySQL支持外键(foreign key),外键允许跨表交叉引用相关数据,另外外键约束能够保证相关数据的一致性.一个外键关系通常包括一个父表和一个子表.父表包含原始的字段数据,子表引用父表中该字段的 ...

  9. mysql级联删除外键约束_玩转MySQL的外键约束之级联删除篇

    [IT168 文档]如今,许多关系型数据库管理系统都提供了外键约束这一强大的功能特性,它能够帮助我们自动地触发指定的动作,诸如删掉.更新数据库表的记录等,从而维护各数据库表之间预定义的关系.本文将演示 ...

最新文章

  1. 《QTP自动化测试进阶》(1)
  2. Robotium todolist.test.elements
  3. 死锁产生原因-竞争资源引起进程死锁
  4. Gut Microbes l 锻炼或会增加机体内源性大麻素水平和改变肠道菌群从而降低机体慢性炎症!...
  5. 本地环境的搭配及安装配置
  6. 命令行下的FTP使用详解
  7. 单选选择才可以提交_第二篇:DJANGO开发产品选择表amp;调查问卷
  8. Ionic(ionicframework)一款接近原生的Html5移动App开发框架 中文网
  9. Spring Session实战3
  10. c遗传算法的终止条件一般_Matlab2 :Matlab遗传算法(GA)优4~-r-具箱是基于基本操作 联合开发网 - pudn.com...
  11. python中的流程控制
  12. 虚拟服务器配置推荐,如何选择虚拟主机配置
  13. [转载] Python之使用K-Means算法聚类消费行为特征数据分析(异常点检测)
  14. MS CRM 2011实施指南5.20版已经发布
  15. Matlab The Bisection Method
  16. el-table对于超出长度限制的文本的处理(vue-cli)
  17. 苹果6能解掉id锁吗_iPhone进水保修吗?苹果官方正式回应了
  18. ibm oracle 应用程序 编排_甲骨文携手IBM认证Oracle Fusion应用软件
  19. 机器人的弊议论文_关于机器人利弊的议论文
  20. Android各国语言Values文件夹命名规则

热门文章

  1. 马云谈年轻人压力大:年轻人怕压力就白活了
  2. 大一下c语言笔记本电脑,大一新生上大学笔记本电脑推荐
  3. 用python画动态皮卡丘_如何利用python绘制可爱皮卡丘?
  4. [Unity] 自定义日志系统 解决Unity Log的痛点
  5. 适合送礼的真无线蓝牙耳机南卡小音舱开箱测评!
  6. 一名技术的原则—美团工作六年的认知(2020年)
  7. Python中json.loads()无法解析单引号字符串问题的两种解决方法
  8. 给自己一个拼搏的理由
  9. flask----后续
  10. Java JDK安装及环境变量配置(windows)