• ベストアンサー

UPDATE時のSETの実行順について

MySQLで   UPDATE data SET item1=item2, item2=0; と書いた場合、item1にはそれまでのitem2の値が入り、item2は0になりました。 また、   UPDATE data SET item2=0, item1=item2; と書いた場合、item1、item2ともに0になりました。 これは「SETの内容は、書いた順に実行されることが保証されている」と考えてよいのでしょうか? それとも実装依存なのでしょうか?

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

  • ベストアンサー
  • togino
  • ベストアンサー率75% (97/129)
回答No.1

マニュアルに mysql> UPDATE persondata SET age=age*2, age=age+1; UPDATE は左から右へ評価されます。 とありますので、書いた順に実行されるということだと思います。 http://dev.mysql.com/doc/mysql/ja/UPDATE.html#IDX1545

参考URL:
http://dev.mysql.com/doc/mysql/ja/UPDATE.html#IDX1545
mone
質問者

お礼

回答ありがとうございます。 mysqlのサイトってあまり見たことがなかったので、このような詳しいページがあるとは知りませんでした。 確証が得られて大変助かりました。 どうもありがとうございました。

関連するQ&A