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 に答える