• ベストアンサー

selectで拾ってきたデータをもとに、ループを使用してupdateを行いたい

selectで拾ってきたデータをもとに、ループを使用してupdateを行いたいのですが、やり方がわかりません。 ※MySQLのみでの実行方法が知りたいです。 --updateの内容-- TA(セレクトしたテーブル) TB(アップデートしたいテーブル) TA.id と TB.id が同じ場合、TB.dataにTA.dataを入力したいです。 -- わかりにくくて申し訳ありませんが、方法などを教えていただけると助かります。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

たとえばこんな感じ UPDATE TB INNER JOIN TA ON TB.id=TA.id SET TB.data=TA.data;

noname#153830
質問者

お礼

おおー!LOOPなんて使わなくてもいけるんですね! ありがとうございます。 -- 今回は急ぎだったため、selectデータを書き出し手作業で修正し、load data の replase で上書きしてしまいました。 是非、次回使わせていただきます。

その他の回答 (1)

回答No.1

update tb set tb.data = (select ta.date from ta where ta.id = tb.id)

noname#153830
質問者

お礼

こちらも次回試させて頂きます! ありがとうございます。

関連するQ&A