2つのテーブルを結合して、削除しようとしています。
DELETE TableA
FROM TableA a
INNER JOIN
TableB b on b.Id = a.Id
where title like 'test'
上記は私が思いついたものですが、私は得続けます
DELETEステートメントがREFERENCE制約と競合しました
2つのテーブルをマージすると、両方を同時に削除し、制約が競合しないと思いました。
クエリに何かが欠けていますか?
2つのテーブルを結合して、削除しようとしています。
DELETE TableA
FROM TableA a
INNER JOIN
TableB b on b.Id = a.Id
where title like 'test'
上記は私が思いついたものですが、私は得続けます
DELETEステートメントがREFERENCE制約と競合しました
2つのテーブルをマージすると、両方を同時に削除し、制約が競合しないと思いました。
クエリに何かが欠けていますか?
これを試して:
DELETE TableA
FROM TableA
INNER JOIN
TableB b on b.Id = TableA.Id
where TableA.title like 'test'
最初TableB
にそのタイトル条件で削除してみてください次にそれらのレコードを削除してくださいTableA
DELETE FROM TableB
WHERE Id IN
( SELECT Id FROM TableA WHERE title = 'test')
DELETE FROM TableA
WHERE title = 'test'
参照制約TableA
は、参照がまだある場合に行を削除することをブロックしますTableB
カスケード制約で次々に削除していきます。