menu
書いてる野郎
orebike@gmail.com
MySQL5.0
タイトルはSELECT結果でUPDATEだががMySQLではそれができない でも「SELECT結果でUPDATE」したい場合って、別テーブルの値を使ってデータの一部の一括して値を洗い替えたい状況がほとんどだと思うので・・・
MySQLのUPDATE構文はそういうことができるようになっている。簡単に言うとデータソースが2つある半分SELECT構文のようなUPDATE文が書ける
UPDATE A, B SET A.name = B.name WHERE A.id = B.id
こんな感じ。 これだとテーブルA上のレコードとB上のレコードでidが合致するものnameをBの値で書き換えるということになる。
解釈順番とか考えるとこんがらがってくるが集合として考えると・・・まぁ納得できるかな。
Oracleとかはupdateでもselectによる副問い合わせができるっぽいけどね。