0

我有一个简单的 DELETE 语句: DELETE FROM [TableA] WHERE Id != 123 这应该删除 1000 行。

但是, TableB 有一个引用 [TableA].Id 的外键约束。上面的 DELETE 语句会遇到错误:DELETE 语句与 TableB 中的引用约束冲突。

有没有办法忽略该行并继续前进而不是出错?换句话说,跳过删除 TableA 中的那一行?我现在只删除 999 行,而不是删除 1000 行?

4

1 回答 1

0

只需检查 FK

DELETE 
FROM [TableA] a
WHERE Id != 123 
AND not exists (select 1 from [TableB] where TableB.FK = a.ID)
于 2018-11-08T18:27:31.873 回答