プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
MySQL、selectした結果でupdateする
結論から書けば

UPDATE
    tableA t1,
    tableB t2
SET
    t1.column01 = t2.column01
WHERE
    t1.ID = t2.ID

のような感じで、テーブルを並べれば良いらしい。

個人的にはUPDATE文でテーブルを並べるのって違和感があるのですが、
まぁ動いたので合っているのでしょう。

試しに副問い合わせもやってみましたが大丈夫でした。

こんな感じで

UPDATE
    tableA t1,
    (
        SELECT
            t3.ID,
            t3.column01
        FROM
            tableB t3
        WHERE
            t3.ID < 100
    ) t2
SET
    t1.column01 = t2.column01
WHERE
    t1.ID = t2.ID

普通に動きました。

昔のMySQLは副問い合わせが使えなかったですからね。
便利な世の中になったもんだ(*´ェ`*)

とは言え、仕事でこの書き方はちょっと躊躇するかもです。
バッチ処理とかならアリかなぁ。
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● MySQL  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事