在MySQL中删除一张表或一条数据的时候,出现
[Err] 1451 -Cannot deleteorupdatea parent row:
aforeignkeyconstraintfails (...)
这是因为MySQL中设置了foreign key
关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS
变量来避免这种情况。
禁用外键约束,我们可以使用:
SET FOREIGN_KEY_CHECKS=0;
然后再删除数据
启动外键约束,我们可以使用:
SET FOREIGN_KEY_CHECKS=1;
查看当前FOREIGN_KEY_CHECKS的值,可用如下命令:
SELECT @@FOREIGN_KEY_CHECKS;
“The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.” – Tom Cargill
标 题:MySQL删除有外键约束的表数据方法