ショッピング カートの問題: 特定の商品が最後の 1 つになりました。複数のユーザーが同時にそれを発見し、同時に注文しました。それが複数回購入されないようにするにはどうすればよいですか?
同時に、それは0.1ミリ秒までの精度であり、確率は高くありません。
12306を参照してください。チケットがある場合は「ショッピングカートに追加」をクリックできますが、支払いを待っている場合は「チケットが不足しています」というメッセージが表示されます。もちろん、そのキュー機能は必要ありません。 。
支払い時ではなく、注文生成時であるべきです
キューイング、トランザクションロック
トランザクション処理には、mysql の場合は innodb を使用してください
注文する際は、倉庫の在庫を確認してください。ただショッピングカートに追加するだけではありません
注文は契約に相当しますが、単一の注文を当事者 B が破棄することもできます (チェックアウトせずに、何ができますか?)
ご注文の際は、倉庫の在庫を確認する必要があり、単純なショッピングカートではありません
注文は契約に相当しますが、単一の注文を破ることもできます。当事者Bによるアップ(解決しないだけで、何ができますか?)
小言が言った状況は現実に存在しますが、このトピックはテクノロジーとは何の関係もありませんが、私自身の感情について話せますか??タオバオでは、注文後に在庫が足りないと言われ、別の選択をするか注文をキャンセルするしかないことがよくありますが、これは交渉がメインです。たとえそれが法的レベルであっても、特にデポジットがない場合、購入者には何のメリットもありません
しかし、注文後、商品を供給することはできず、販売者は同様のことを行います。保証金の何倍もの賠償金など、法的レベルで損失を被る可能性があります
私の意見 はい、中国では一方的な契約違反を追及するのは難しいですが(これは売買のどちらの当事者にも当てはまります)、契約を締結すべきではありません。自分自身が赤字の状況に陥ることになります
悪質な注文(昨年のタオバオ事件など)については、別の側面から解決する必要があります
このように苦しむのは販売者です。注文した人はチェックアウトせず、必要な人はそれを購入できず、他の店に頼ることができません
12306 と同じように、チケットはなく、電車の空席率は依然として非常に高いと言われています
発注済みだがチェックアウトが確認されていない注文の製品情報を保存するための一時テーブルがデータベースに存在する必要があります。注文者が注文を確認したら、まず販売された製品の数 + 一時テーブル内の製品の数を決定します。テーブル + 注文者の記入数の合計が製品の倉庫の合計数より大きいか? 合計以下の場合、注文者は、商品を配置するときに一時テーブルにレコードを追加します。注文が正常に完了すると、プロンプトが表示されます。注文が決済された後、一時テーブルの商品レコードを削除できます。