我有一个简单的DELETE语句:DELETE FROM [TableA] WHERE Id!= 123 这应该删除1000行。
但是,TableB具有一个外键约束,该约束引用了[TableA] .Id 。上面的DELETE语句将遇到错误:DELETE语句与TableB中的引用约束冲突。
是否有一种方法可以忽略该行并继续进行操作,而不是将其弄错呢?换句话说,跳过在TableA中删除该行?我现在只删除999行,而不是删除1000行?
答案 0 :(得分:0)
只需检查FK
DELETE
FROM [TableA] a
WHERE Id != 123
AND not exists (select 1 from [TableB] where TableB.FK = a.ID)