遇到问题

今天在准备"删库跑路"的时候,有的数据表再删除的时候报了以下错误:

1217 - Cannot delete or update a parent row: a foreign key constraint fails

本着有事找度娘的原则,将这句话百度翻译一下,中文意思是“无法删除或更新父行:外键约束失败”。那这不就好办了,把有外键约束的表删了或者解除约束不就好了。

原因

查看了一下教程发现:

数据表之间经常存在外键关联的情况,这时如果直接删除父表,会破坏数据表的完整性,也会删除失败。

删除父表有以下两种方法:

  • 先删除与它关联的子表,再删除父表;但是这样会同时删除两个表中的数据。
  • 将关联表的外键约束取消,再删除父表;适用于需要保留子表的数据,只删除父表的情况。

解决方法

我们尝试一下第二种方法,这样还可以保留一下子表的数据,至少可以早出来两年 (手动狗头)

  1. 要删除的父表

    CREATE TABLE tb_drop
    (
    id INT(11) PRIMARY KEY,
    name VARCHAR(22),
    location VARCHAR (50)
    );
    
  2. 外键关联需要被删除的子表

    CREATE TABLE tb_foreign
    (
    id INT(11) PRIMARY KEY,
    name VARCHAR(25),
    deptId INT(11),
    salary FLOAT,
    CONSTRAINT fk_drop_foreign FOREIGN KEY (deptId) REFERENCES tb_drop(id)
    );
    
  3. 此时如果删除tb_drop表,就会报出1217错误,所以要解除外键约束

    ALTER TABLE tb_foreign DROP FOREIGN KEY fk_drop_foreign;
    
  4. 执行成功后,两个表之间的外键约束就解除了,此时删除表就可以了

    dDROP TABLE tb_drop;
    

MySQL遇到错误:1217 - 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库中有俩表,table1和table2,相互关联,在删除表的时候出错: Cannot delete or update a parent row: a foreign key constra ...

  2. 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 ...

  3. 解决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 ...

  4. 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 ...

  5. 表删除时 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的 ...

  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. ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`meiduo`.`

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

  8. 删除有外键关联的表报错,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; // ...

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

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

最新文章

  1. thinkphp mysql 预处理_thinkPHP框架中执行原生SQL语句的方法
  2. VTK序列图像的读取
  3. WinCE6.0的极速启动
  4. 连接MongoDB 3.x 报 Authorization failed 解决办法(自己只用到了创建mongodb账号和密码的部分亲测)
  5. 意犹未尽 —— GPM 的状态流转(十)
  6. 7135制作自动量程电压切换_基于数字电压表的直流电位差计自动检定装置的讨论...
  7. 游戏开发-从零开始 002
  8. css3 2D动画效果 200303
  9. Java-常见的工具类-字符串
  10. c语言求未知坐标,求助,有关坐标计算的
  11. 用tinyxml创建xml文件
  12. 装饰模式-包装request和response
  13. 小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_9、SpringBoot基础HTTP其他提交方法请求实战...
  14. cad多线段长度计算总和_CAD小白必备:1秒教会你CAD画线,再也不为画线烦恼
  15. 端到端语音识别技术预研与实践
  16. C语言 四种不同方法来判断闰年
  17. win10关闭电池保护模式_win10系统Ie浏览器开启、关闭保护模式的操作方法
  18. 最大奇约数(c++实现)
  19. CNN 卷积神经网络-- 残差计算
  20. python求均值 有限存储量_python计算均值

热门文章

  1. 字节跳动「突袭」美团,抖音竟然要做外卖
  2. 关于物联网远程控制技术,你了解的有多少?
  3. Eclipse插件开发_学习_02_GEF入门实例
  4. 给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列组成⼀个新的正整数,求组成的新数最小的删数方案(O((n-k)logk)优化)
  5. DELL灵越笔记本插上耳机后,只有外放耳机无声音的解决方法。
  6. 盗取手机验证码诈骗的克星来了:号码认证服务为你保驾护航
  7. 古琴入门篇|古琴指法及符号解析
  8. 怎样将doc格式(word)转成WPS格式
  9. Cassandra Cql
  10. 多项创新功能驱动,Galaxy S9必将引爆2018智能手机市场