6

我正在尝试将 2 个表连接在一起并对其进行删除。

DELETE TableA 
FROM TableA a
INNER JOIN
TableB b on b.Id = a.Id
where title like 'test' 

以上是我想出的,但是我不断得到

DELETE 语句与 REFERENCE 约束冲突

我想如果我将 2 个表合并在一起,那么我将同时删除这两个表,并且不会有任何约束冲突。

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

4

3 回答 3

12

尝试这个:

DELETE TableA 
FROM TableA 
INNER JOIN
TableB b on b.Id = TableA.Id
where TableA.title like 'test'
于 2012-10-25T06:56:42.103 回答
6

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

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

DELETE FROM TableA
WHERE title = 'test'

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

于 2012-08-08T17:18:13.600 回答
0

我会用级联约束一个接一个地删除。

于 2012-08-08T17:18:31.073 回答