MySQLのサブクエリを用いたUPDATEに対する備忘録


MySQL のUPDATEを行う上でサブクエリを使用しましたが、あんまりよくわかっていなかったので、

備忘録として書いておく。

 

《したい事》

・ 文字列の一括置換

 

《抽出条件》

・あるIDが一緒のやつ

 

例:meta_value に「あいうえお」と入っているのを「あいう」に変えたい。

抽出は「あいうえお」が入っているレコードのmeta_idを取得し、meta_idが一致するレコードのみ「あいう」に更新。

 

 

これで、「あいうえお」を持つレコードが「あいう」に更新できる。

最初はてっきりwhere句でmeta_id in (サブクエリ)だと思っていたけど、

テーブル化してそれの=でUPDATEするとは思わなんだ。

まぁSQLなんてもう何年も書いてないし、基本的にはOracleしか知らないから

これが特殊なのか普通なのかよくわからない。

ただ、久しぶりなのとちょっとビックリしたので備忘録として書いておく。

 

もし間違っていたらハゲっとコメントくださいw

 


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です