1

article.cat_idにリンクされているデータベースがありますcategory.id

からいくつかの行を削除しましたが、存在しないリンクへのリンクcategoryからすべての行を選択または削除したいと考えています。残念ながら、どのs が削除されたのか正確にはわかりません。articleidcategoryid

に等しいものarticleがないすべての行を返すようにチェックする SQL の方法はありますか?category.idarticle.cat_id

4

3 に答える 3

2

例えば

SELECT * FROM Table_1 where Table_1.ID not in (SELECT Table_2.ID FROM Table_2)

内側の選択ではテーブル 2 からすべての ID が選択され、外側の選択では ID がテーブル 2 に存在しない返された行がベースになります。

于 2013-06-01T09:10:59.663 に答える
1
DELETE a.*
FROM article a
LEFT JOIN category c
ON a.cat_id = c.id
WHERE c.id IS NULL

それがあなたが望むものであることを確認するために最初に変更DELETEしてください。SELECT

于 2013-06-01T09:11:08.897 に答える
0
delete a
from article a
left outer join category c on c.id = a.cat_id
where c.id is null
于 2013-06-01T09:11:11.760 に答える