Mysql - 删除表时出现: Cannot delete or update a parent row: a foreign key constraint fails
2024-09-02 12:42:12
现象
MySQL在删除一张表时出现
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails
原因
可能是在Mysql中,删除的表和另一张表设置了foreign key的关联,造成无法更新或删除数据;
解决方案
可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。
禁用外键约束
SET FOREIGN_KEY_CHECKS = 0;
然后就可以删除表了
删除完成后再启动外键约束
SET FOREIGN_KEY_CHECKS = 1;
查看当前FOREIGN_KEY_CHECKS的值可用如下命令
SELECT @@FOREIGN_KEY_CHECKS;
注意
这样设置只会影响当前会话, 不会影响全局
若想设置全局变量的话,可以这样写
SET GLOBAL FOREIGN_KEY_CHECKS = 0;
最新文章
- 学习OpenStack之 (0):基础知识
- editplus的配置和使用
- mongoose学习文档
- Uploadify文件上传
- 第七章 探秘Qt的核心机制-信号与槽
- backbone case
- php 编译安装curl 时候出现问题
- HDU2196-Computer
- Ngnix安装
- QT IP输入框正则表达式(使用QLineEdit的setValidator函数)
- myeclipse6.0安装svn插件
- 10. Regular Expression Matching
- js zhi网马
- Git的思想和基本工作原理2
- 安装jdk设置环境变量(win10)
- 【JDK源码】将JDK源码导入IDEA中
- 算法实践--最长公共子序列(Longest Common Subsquence)
- vue常用插件汇总
- Javascript中的Form表单知识点总结
- java getenv getProperties区别