• ベストアンサー

数値を加算する場合の処理について

PHPとMYSQLにて簡単なネットを介した商品管理システムのようなものを作成するとして、 例えば以下のような加算処理を複数の店舗の担当者が別々のパソコンからほぼ同時に行なった場合 UPDATE drink SET count=count+1 where name='beer' countの数値に狂いが出てしまうということはありますでしょうか あるとすればどのように対処していけばよいのでしょうか どなたかお詳しい方、ご教授の程何卒よろしくお願い致します

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

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

>countを0に戻した時、丁度別のパソコンからのcount+1 処理とかぶってしまい、 >0でなく前の数値+1にセットし直されてしまうということは おっしゃっていることがよくわからないのですが、 0に戻す処理って、 UPDATE drink SET count=0 where name='beer' としますよね? そのタイミングで、別の人がインクリメントすれば、 とうぜん数値は1になります、そうならないと逆に問題だと 思いますが・・・ どういう運用を考えているかにもよりますが・・・

akiru1031
質問者

お礼

何度もすみません! ちょっとあらぬ方向に考えすぎてしまいました yambejpさんのご回答で安心しました どうもありがとうございます!

その他の回答 (1)

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

まぁインクリメントしているだけですから、ほぼ問題ないと おもいますが、心配であればトランザクションで処理をしてください

akiru1031
質問者

お礼

ありがとうございます! yambejpさん、よろしければもう一つ! countを0に戻した時、丁度別のパソコンからのcount+1 処理とかぶってしまい、 0でなく前の数値+1にセットし直されてしまうということは ありませんかね?

関連するQ&A