【MySQL】joinした結果でupdateする
MySQLでjoinした結果でupdateしたい場合に、ちょいちょい、あれ??ってなるんで備忘録。
今回は簡単に書いていきます。
まじ5秒レベル。
テーブル
こんな感じのテーブルがあったとします。
※ データは割愛
users
テーブル
column | type | PK |
---|---|---|
user_id | int | ○ |
name | varchar(10) | - |
posts
テーブル
column | type | PK |
---|---|---|
user_id | int | - |
type | int | - |
joinした結果でUpdate
UPDATE users AS u INNER JOIN posts AS p ON u.user_id = p.user_id SET u.name = "update" WHERE p.type = 1
おわり
結合した結果に対してupdateかけるわけだから、setの前にくるって気づけそうだけど。
とりあえずupdateは前joinって言い聞かせよう。