如何在有外键关系的表中删除数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在有外键关系的表中删除数据相关的知识,希望对你有一定的参考价值。

删除主表的记录时,你必先删除子表的记录才能够删主表的记录 删除子表的记录时,你可以直接删除 ORACLE 数据库支持级联删除,但要看你的约束是怎么建的 1.ON DELETE CASCADE (级联删除) 2.ON DELETE SET NULL (删除主表,子表列设置NULL) 参考技术A 1、可以通过外键设置级联删除
2、先删除外键表中的数据,再删除当前数据本回答被提问者采纳

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

在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;

以上是关于如何在有外键关系的表中删除数据的主要内容,如果未能解决你的问题,请参考以下文章

SQL 怎样删除有外键约束的表

SQL怎么在有外键的主键表中插数据

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

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

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

有外键约束的表,删除父表的数据,会出现哪几种情况?