LoginSignup
6
6

More than 3 years have passed since last update.

SQLで複数テーブルをDELETEする方法

Posted at

ユーザーアカウント削除時に削除されたアカウントの投稿内容も一緒に削除したい。
そんな時に使用したコードです。

それぞれのテーブルが以下となります。

users
id name
1 鈴木
2 山田
3 佐藤

posts
id user_id message
1 2 こんにちは
2 1   おはよう
3 3   こんばんは

実際のSQL文は以下になります。
DELETE users,posts FROM users LEFT JOIN posts ON users.id = posts.user_id WHERE users.id=?'

コードの読み下し文としては
削除対象のテーブルはusersとposts、usersのidとpostsのuser_idが一致したものを結合。
結合した後のデーターにてusersのidが後程代入された値と同じものを削除して下さい、となる。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6