更新时间:2024-09-11 GMT+08:00
存在外键的表无法删除
场景描述
删除MySQL表时,如果表中有外键(foreign key),会出现如下报错,且和用户权限无关:
ERROR 1451 (23000): Cannot delete or update parent row: a foreign key constraint fails …………
原因分析
这个表和其他表有外键关系,在MySQL中,设置了外键关联,会造成无法更新或删除数据,避免破坏外键的约束。
可以通过设置变量FOREIGN_KEY_CHECKS值为off,来关闭上述机制,详见官方文档。
解决方案
通过设置变量FOREIGN_KEY_CHECKS值为off,来关闭上述机制:
set session foreign_key_checks=off; drop table table_name;
父主题: SQL类