数据库错误Cannot delete or update a parent row: a foreign key constraint fails
问题描述:
删除数据库表中一条数据的时候,报错Cannot delete or update a parent row: a foreign key constraint fails。
原因:
此数据库表和其他数据库表有关联,再删除的时候会检查表之间的关联关系,从而导致无法删除。
数据库中的解决方法:
SET foreign_key_checks = 0; // 先设置外键约束检查关闭
drop table table1; // 删除表,如果要删除视图,也是如此
SET foreign_key_checks = 1; // 开启外键约束检查,以保持表结构完整性
可以用 show VARIABLES like "foreign%"; 检查外键配置项。
off表示关闭状态;on表示开启状态
如果要将检测外键开启:SET foreign_key_checks = 1;