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

MySQL 如何删除有外键约束的表数据,第1张

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

[Err] 1451 -Cannot deleteorupdatea parent row:

aforeignkeyconstraintfails (...)

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

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

SETFOREIGN_KEY_CHECKS=0

然后再删除数据

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

SETFOREIGN_KEY_CHECKS=1

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

SELECT @@FOREIGN_KEY_CHECKS

如上图所示使用SHOW CREATE TABLE 表名称

记住CONSTRINT后面‘’这个符号中的内容

这时候就可以使用ALTER TABLE 表名称 DROP FOREIGN KEY 刚刚记住的内容

OK啦上述两步就可以删除外键啦

分两步走:

确认受外键约束的数据是否可用同步删除。如果可用则直接删除,如果不可以则接触外键约束。

外键解除或受外键约束数据被删除后,可用直接删除自身数据。

alter table test drop foreign key 外键名称


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5892622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-06
下一篇 2023-03-06

发表评论

登录后才能评论

评论列表(0条)

保存