如何在不检查外键约束的情况下删除

时间:2020-10-03 04:59:07

标签: sql sql-server

我有一个表,其中包含一些SQL错误数据。该表与其他表有很多关系,而其他表有很多数据,因此当我要删除不良数据时,它的运行速度非常慢,需要花费大量时间。我认为导致此问题的原因是外键约束。主要问题是如何从一个表中禁用所有外键约束。

1 个答案:

答案 0 :(得分:-1)

您必须禁用检查约束:

SET FOREIGN_KEY_CHECKS=0;

确保在执行命令后将其退回:

SET FOREIGN_KEY_CHECKS=1;

禁用一个表的约束:

alter table
   table_name
DISABLE constraint
   constraint_name;

这里是一个例子:

select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints;