SQL Server 2008中的内部联接删除?

cho*_*bo2 6 sql sql-server sql-server-2008

我试图加入2个表并对其进行删除.

DELETE TableA 
FROM TableA a
INNER JOIN
TableB b on b.Id = a.Id
where title like 'test' 
Run Code Online (Sandbox Code Playgroud)

以上就是我想出来的,但是我一直在努力

DELETE语句与REFERENCE约束冲突

我想如果我将两个表合并在一起,那么我将同时删除两个表,并且没有任何约束会发生冲突.

我在查询中遗漏了什么吗?

小智 12

试试这个:

DELETE TableA 
FROM TableA 
INNER JOIN
TableB b on b.Id = TableA.Id
where TableA.title like 'test'
Run Code Online (Sandbox Code Playgroud)


sun*_*dar 6

首先尝试TableB使用该标题条件删除然后删除那些记录TableA

DELETE FROM TableB
WHERE Id IN 
( SELECT Id FROM TableA WHERE title = 'test')

DELETE FROM TableA
WHERE title = 'test'
Run Code Online (Sandbox Code Playgroud)

TableA当您仍然引用时,参照约束阻止您删除行TableB