ひろろの思うがままに。

自由奔放。思ったことや感じたこと、そんなことを書き溜めて、レベル上げて。

【MySQL】joinした結果でupdateする

f:id:tack13:20200704230443p:plain

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って言い聞かせよう。