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

it2026-02-27  2

原因:MySQL设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。

SET foreign_key_checks = 0; // 先设置外键约束检查关闭 drop table table1; // 删除表,如果要删除视图,也是如此 SET foreign_key_checks = 1; // 开启外键约束检查,以保持表结构完整性

MySQL的环境变量中存在一个foreign_key_checks,这是默认检查外键的配置项,如果将其设置为0,则表示不检查外键约束。查看foreign_key_checks的值:

show VARIABLES like "foreign%";

注意:在删除完表之后,最好是重新打开检查(SET foreign_key_checks = 1) 以保持表格结构的完整性。

最新回复(0)