Mysql - 删除表时出现: Cannot delete or update a parent row: a foreign key constraint fails
现象
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;
分类:
常见问题解决方案 - Mysql
标签:
Mysql问题解决方案
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!