MySQL遇到错误:1217 - Cannot delete or update a parent row: a foreign key constraint fails
遇到问题
今天在准备"删库跑路"的时候,有的数据表再删除的时候报了以下错误:
1217 - Cannot delete or update a parent row: a foreign key constraint fails
本着有事找度娘的原则,将这句话百度翻译一下,中文意思是“无法删除或更新父行:外键约束失败”。那这不就好办了,把有外键约束的表删了或者解除约束不就好了。
原因
查看了一下教程发现:
数据表之间经常存在外键关联的情况,这时如果直接删除父表,会破坏数据表的完整性,也会删除失败。
删除父表有以下两种方法:
- 先删除与它关联的子表,再删除父表;但是这样会同时删除两个表中的数据。
- 将关联表的外键约束取消,再删除父表;适用于需要保留子表的数据,只删除父表的情况。
解决方法
我们尝试一下第二种方法,这样还可以保留一下子表的数据,至少可以早出来两年 (手动狗头)
要删除的父表
CREATE TABLE tb_drop ( id INT(11) PRIMARY KEY, name VARCHAR(22), location VARCHAR (50) );
外键关联需要被删除的子表
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) );
此时如果删除tb_drop表,就会报出1217错误,所以要解除外键约束
ALTER TABLE tb_foreign DROP FOREIGN KEY fk_drop_foreign;
执行成功后,两个表之间的外键约束就解除了,此时删除表就可以了
dDROP TABLE tb_drop;
MySQL遇到错误:1217 - 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。
MySQL库中有俩表,table1和table2,相互关联,在删除表的时候出错: Cannot delete or update a parent row: a foreign key constra ...
- 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 ...
- 解决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 ...
- 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 ...
- 表删除时 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 Flask开发进阶:记下一次级联删除的报错:Cannot delete or update a parent row: a foreign key constraint fails
中间表 class Permission(object):LOGIN = 0x01EDITOR = 0x02OPERATOR = 0x04ADMINISTER = 0xffPERMISSION_MAP ...
- ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`meiduo`.`
在MySQL中删除一张表或一条数据的时候,出现 这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据.可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况. 我们 ...
- 删除有外键关联的表报错,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; // ...
- 删除订单时报错Cannot delete or update a parent row: a foreign key constraint fails (`jxc`.`t_purchase_list_
删除数据的id与其他表的id有外键关联,所以关联的数据也要删除 注:先删主键,再删外键.
最新文章
- thinkphp mysql 预处理_thinkPHP框架中执行原生SQL语句的方法
- VTK序列图像的读取
- WinCE6.0的极速启动
- 连接MongoDB 3.x 报 Authorization failed 解决办法(自己只用到了创建mongodb账号和密码的部分亲测)
- 意犹未尽 —— GPM 的状态流转(十)
- 7135制作自动量程电压切换_基于数字电压表的直流电位差计自动检定装置的讨论...
- 游戏开发-从零开始 002
- css3 2D动画效果 200303
- Java-常见的工具类-字符串
- c语言求未知坐标,求助,有关坐标计算的
- 用tinyxml创建xml文件
- 装饰模式-包装request和response
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_9、SpringBoot基础HTTP其他提交方法请求实战...
- cad多线段长度计算总和_CAD小白必备:1秒教会你CAD画线,再也不为画线烦恼
- 端到端语音识别技术预研与实践
- C语言 四种不同方法来判断闰年
- win10关闭电池保护模式_win10系统Ie浏览器开启、关闭保护模式的操作方法
- 最大奇约数(c++实现)
- CNN 卷积神经网络-- 残差计算
- python求均值 有限存储量_python计算均值
热门文章
- 字节跳动「突袭」美团,抖音竟然要做外卖
- 关于物联网远程控制技术,你了解的有多少?
- Eclipse插件开发_学习_02_GEF入门实例
- 给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列组成⼀个新的正整数,求组成的新数最小的删数方案(O((n-k)logk)优化)
- DELL灵越笔记本插上耳机后,只有外放耳机无声音的解决方法。
- 盗取手机验证码诈骗的克星来了:号码认证服务为你保驾护航
- 古琴入门篇|古琴指法及符号解析
- 怎样将doc格式(word)转成WPS格式
- Cassandra Cql
- 多项创新功能驱动,Galaxy S9必将引爆2018智能手机市场