twitter facebook

mysql で join して delete

mysql で 表結合して DELETE する方法のメモです。

通常の DELETE文は以下ですが。
通常のDELETE
DELETE FROM table1 WHERE topic_id=9 ;
2つのテーブルを LEFT JOIN など結合して削除する場合は
SELECT と 同じく通常通り LEFT JOIN したあと、
DELETE #SRK:T1 FROM のようにするのがポイントです。
表結合してDELETE
DELETE T1 FROM table1 T1
LEFT JOIN table2 T2 ON T1.topic_id=T2.topic_id
WHERE T1.topic_id=9 AND T2.status=-1  ;
結果
  • table2 の topic_id=9, statusが-1 の時だけ
  • table1 の topc_id=9 の行のみ削除されます
AUTHOR
@SAWA
最終更新日 2018/09/17
FAVORITE good stock
LINK TAG
記法を見る