MySQL 如何删除有外键约束的表数据

来源:互联网 发布:sql select where or 编辑:程序博客网 时间:2024/06/06 14:15

在MySQL中删除一张表或一条数据的时候,出现

?
1
[Err] 1451 -Cannot deleteorupdatea parent row:
 aforeignkeyconstraintfails (...)

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

禁用外键约束,我们可以使用:


?
1
SETFOREIGN_KEY_CHECKS=0;


然后再删除数据


启动外键约束,我们可以使用:


?
1
SETFOREIGN_KEY_CHECKS=1;

查看当前FOREIGN_KEY_CHECKS的值,可用如下命令:


?
1
SELECT @@FOREIGN_KEY_CHECKS;


0 0
原创粉丝点击