これは以前に尋ねられたことがわかりましたが、私はまだ混乱しており、可能であればプログラミングに入る前に問題を避けたいと思います。Mysqlレースの条件を正しく回避する方法
私は、常に100人以上のユーザーがアクティブな内部Webサイトを計画しています。ユーザーはアイテム(0に値を持つdbに挿入されたアイテム)を投稿し、そのアイテムはPHPサイト(dbクエリ)を介して表示されます。ユーザーはボタンを押してそのアイテムをそのアイテムとしてロックするオプションを取得します(そのアイテムの値をIDとして割り当てます)
2人以上のユーザーが同じアイテムを同時に取得しないようにするにはどうすればよいですか。私はC++のようなプログラミングで知っています。彼らはそれのような1つの項目のエントリをロックするmysqlの同等ですか?私はLOCK_TABLESとGET_LOCKや他の多くへの参照を見てきましたので、私はまだ何が最善であろうと非常に混乱しています。
多くの人が1つのボタンを押す可能性があり、複数の人が確認を受けると悲惨なことになります。
これは競合状態の主要な例ですが、mysqlは私にとって外国の領土です。
私は明らかにアイテムを更新し、それが書き込まれていないことを確認しますが、この競合状態が回避されることを保証する最良の方法は何ですか?
ありがとうございます。
なぜ完全に新しい列を作成するのですか?既存の列でこの同じ手法を使用することはできませんでしたか? –