sql:

delete d,m,z from tab_lightrate_day d , tab_lightrate_month m ,tab_zone z where d.zoneId = z.id and z.id = m.zoneId
and  z.id =101

出现如下提示:

Cannot delete or update a parent row: a foreign key constraint fails (`db_lms`.`tab_lightrate_day`, CONSTRAINT `tab_lightrate_day_ibfk_1` FOREIGN KEY (`zoneId`) REFERENCES `tab_zone` (`id`))//外键约束,删不掉

于是乎就网上到处搜索资料:

浏览了大片资料后,最后在百度文库中找到了灵感。操作:

1、首先用 show create table 表名 查到了 操作的三张表的建表语句:

A、tab_zone

CREATE TABLE `tab_zone` (`id` int(10) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL,`description` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=110 DEFAULT CHARSET=gb2312

B、tab_lightrate_day

CREATE TABLE `tab_lightrate_day` (`id` int(10) NOT NULL AUTO_INCREMENT,`zoneId` int(5) NOT NULL,`sampleTime` datetime NOT NULL,PRIMARY KEY (`id`),KEY `zoneId` (`zoneId`) USING BTREE,CONSTRAINT `tab_lightrate_day_ibfk_1` FOREIGN KEY (`zoneId`) REFERENCES `tab_zone` (`id`)//定义了外键约束,但是没有定义级联删除
) ENGINE=InnoDB AUTO_INCREMENT=1009 DEFAULT CHARSET=utf8

C、tab_lightrate_month

CREATE TABLE `tab_lightrate_month` (`id` int(10) NOT NULL AUTO_INCREMENT,`zoneId` int(5) NOT NULL,`month` varchar(10) NOT NULL,`lightRate` decimal(4,1) NOT NULL,PRIMARY KEY (`id`),KEY `zoneId` (`zoneId`) USING BTREE,CONSTRAINT `tab_lightrate_month_ibfk_1` FOREIGN KEY (`zoneId`) REFERENCES `tab_zone` (`id`)//同样也定义了外键约束,但是没有 级联删除定义
) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8

通过以上三张表的建表语句看出,从表tab_lightrate_month,tab_lightrate_day 都定义了外键约束,单灯没有定义级联删除。所以当我再操作时 就出现本文开始的提示信息。

下一步就是解决办法了,从百度文库中找到了解决办法:

1、首先删除tab_lightrate_day 之前的外键约束:

alter table tab_lightrate_day drop foreign key tab_lightrate_day_ibfk_1

2、然后重新添加新的外键约束(增加了级联删除)

alter table tab_lightrate_day add foreign key(zoneId) REFERENCES `tab_zone` (`id`) on delete cascade

3、对表tab_lightrate_month  也做同样的操作

alter table tab_lightrate_month drop foreign key tab_lightrate_month_ibfk_1
alter table tab_lightrate_month add foreign key(zoneId) REFERENCES `tab_zone` (`id`) on delete cascade

4、最后测试:

delete from tab_zone where id=101

级联删除成功!!

转载于:https://blog.51cto.com/5070780/1253796

Cannot delete or update a parent row: a foreign key constraint fails相关推荐

  1. mysql删除有外链索引数据,Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法

    mysql删除有外链索引数据,Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法 参考文章: (1 ...

  2. 解决Cannot delete or update a parent row: a foreign key constraint fails的mysql报错

    1 问题 删除有外键关联的数据或者表的时候,mysql出现报错: Cannot delete or update a parent row: a foreign key constraint fail ...

  3. 表删除时 Cannot delete or update a parent row: a foreign key constraint fails 异常处理

    有两张表,结构如下: t_item: t_bid: id int id int name varchar name varchar item_id int 其中表t_item的主键id是表t_bid的 ...

  4. MySQL遇到错误:1217 - Cannot delete or update a parent row: a foreign key constraint fails

    遇到问题 今天在准备"删库跑路"的时候,有的数据表再删除的时候报了以下错误: 1217 - Cannot delete or update a parent row: a fore ...

  5. Mysql报错 Cannot delete or update a parent row: a foreign key constraint fails

    mysql数据库中使用delete语句删除表中的一条信息时,报错:1451 - Cannot delete or update a parent row: a foreign key constrai ...

  6. 4 Flask开发进阶:记下一次级联删除的报错:Cannot delete or update a parent row: a foreign key constraint fails

    中间表 class Permission(object):LOGIN = 0x01EDITOR = 0x02OPERATOR = 0x04ADMINISTER = 0xffPERMISSION_MAP ...

  7. MySQL删除表:Cannot delete or update a parent row: a foreign key constraint fails。

    MySQL库中有俩表,table1和table2,相互关联,在删除表的时候出错: Cannot delete or update a parent row: a foreign key constra ...

  8. ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`meiduo`.`

    在MySQL中删除一张表或一条数据的时候,出现 这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据.可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况. 我们 ...

  9. 删除有外键关联的表报错,Cannot delete or update a parent row: a foreign key constraint fails

    解决办法: SET foreign_key_checks = 0; //先设置取消外键检查 drop table portal_user; SET foreign_key_checks = 1; // ...

  10. 删除订单时报错Cannot delete or update a parent row: a foreign key constraint fails (`jxc`.`t_purchase_list_

    删除数据的id与其他表的id有外键关联,所以关联的数据也要删除 注:先删主键,再删外键.

最新文章

  1. Code128 Fontware条码控件介绍
  2. Python 学习笔记(2) - 基本概念、运算符与表达式
  3. 微服务架构 vs SOA架构
  4. 提取swf素材_swf素材提取工具
  5. kux格式 linux,怎么把1080P的kux视频转换成mp4呢
  6. 模块一 day06 数据类型(中)
  7. win10系统幻灯片播放卡顿
  8. nginx日志统计pv、uv命令
  9. 计算机打印东西怎么横向打印机,打印怎么设置横向打印(打印机怎么调整打印方向)...
  10. 535. TinyURL 的加密与解密 : 设计一个 URL 简化系统
  11. python编写12306窗体抢票软件(二)
  12. Android学习计划
  13. 如何解决hao.123.com的挟持网页(篡改网站主页)
  14. 有限差分法的MATLAB程序!!!!
  15. 数据库查询之条件查询
  16. 南卡和FIIL 哪个更好用?南卡和FIIL CC nano蓝牙耳机对比测评
  17. 80核处理器_80多岁仍奋战一线,龙芯巾帼英雄黄令仪获CCF夏培肃奖
  18. pcsx2 android,PCSX2模拟器
  19. Mac绘图软件:Paint X
  20. 套现15亿的摩拜创始人胡玮炜,后来怎么样了?

热门文章

  1. 使用boost中的线程池
  2. 编辑距离、拼写检查与度量空间:一个有趣的数据结构
  3. 监控延迟严重怎么解决_监控画面故障解决:网络监控画面没有图像显示或无视频信号怎么办...
  4. outlook邮箱显示一直启动中_[转载]Outlook 2016 显示正在启动... 无法进入Outlook的解决方案...
  5. 【Luogu】重返现世
  6. (004)每日SQL学习:物化视图之二
  7. 算法之路 level 01 problem set
  8. 某TS流视频文字识别系统
  9. iOS 的keyChain
  10. DFX 9.303 for QQMusic 2010