私はフラッシュゲームをしました。ユーザーは多くのアイテムを持っていました。各項目は、データベース内のテーブルの行であり、列があります。
id - user_id - item_type_id - quantity
ユーザーがアイテムを取得するたびに、データベースでselectを実行して、ユーザーがそのアイテムタイプの行を既に持っているかどうかを確認します。存在しない場合は挿入され、存在しない場合は数量を増やしてコミットします。常にトランザクション内のすべて。
ゲームのトラフィックが多い場合、アイテムの行が重複して表示されることがあります。今、私は選択を実行して重複行をチェックし、数量をマージして重複行を削除します。
- この問題はどのように発生しますか?
- どうすれば問題の発生を防ぐことができますか?
MySQLを使用しています。