MYSQLは、ショッピングカートに追加する際に重複追加を防ぐためのサンプルコードを実装します。

MYSQLは、ショッピングカートに追加する際に重複追加を防ぐためのサンプルコードを実装します。

序文

最近、仕事の都合で、APP ショッピングカートの注文支払いに取り組んでいました。テスト中にバグが見つかりました。すぐに「カートに追加」をクリックすると、同じ商品がショッピングカートに 2 回表示されました。

ショッピングカートに追加するときには、2 つの手順があります。最初の手順は、ショッピングカートに追加する商品がすでにショッピングカートにあるかどうかを判断することです。ある場合は、元の数量に 1 つ追加します。ない場合は、再度追加します。

2 つのステップはアトミック操作ではないため、マルチスレッドのセキュリティ問題があります。以下では詳しく説明しません。エディターに従って詳細な解決プロセスを見てみましょう。役に立つと思います。

MySQLの挿入にはより高度な操作があります

サンプルコード:

t_xs_shopping_cartに挿入(
 ユーザーID、
 ショップID、
 商品ID、
 量
)
価値観 
 (71, 67, 140201057403511024, 1) 重複キー更新の場合、数量 = 数量 + 1

ユニークキー制約が有効になると、数量を1増やす更新文が実行される。

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。

以下もご興味があるかもしれません:
  • MySQLテーブルにタイムスタンプを追加するいくつかの方法
  • MySQLにインデックスを追加する方法
  • MySQL でストアド プロシージャを作成し、ループでレコードを追加する方法
  • テーブルの作成、フィールドの追加、フィールドの変更、インデックスの追加によく使用される MySQL の SQL 文の概要
  • SQL でテーブルにフィールドとコメントを追加する方法

<<:  2時間のDocker入門チュートリアル

>>:  ffmpeg コマンドラインを使用してビデオを変換するためのサンプルコード

推薦する

docker view container log コマンドの実装

なぜログを読む必要があるのでしょうか?たとえば、コンテナの起動に失敗したがプロンプトが表示されない場...

CSS でリスト スタイル属性を設定する方法 (この記事を読むだけ)

リストスタイルのプロパティHTMLには、順序なしリストと順序ありリストの2種類のリストがあります。仕...

MySQL でテーブルを作成するときの NULL と NOT NULL の使用方法の詳細な説明

MySQL の仕様によっては、テーブル作成仕様にすべてのフィールドが空であってはならないという要件を...

MySQLのGROUP BYステートメントを最適化する方法

MySQL で、id、a、b の 3 つのフィールドを持つ新しいテーブルを作成します。次のように、同...

シンプルなメッセージボードケースを実現するJavaScript

参考までに、Javascriptを使用してメッセージボードの例(メッセージ削除あり)を実装します。具...

JS で async await をエレガントに使用する方法

目次jQuery の $.ajax Webpack時代の始まり約束について深く考えるネストをなくすj...

CSS を使用して固定ナビゲーションと左右スライドを備えたスクロール バーを作成する方法

上に示すように、ナビゲーションは上部に固定されており、左右にスライドしてさらにオプションをクリックで...

TypeScript の基本型の紹介

目次1. 基本タイプ2. オブジェクトタイプ2.1 配列2.2 タプル2.3 オブジェクト3. 型推...

vue cli で env を使用するガイド

目次序文紹介-公式設定例序文vueCli を使用してプロジェクトを開発したことのある方は、少しがっか...

js の通常形式の日付と時刻に 0 を自動的に追加する 2 つのソリューション

目次背景解決策1アイデア:コード:解決策2アイデア:要約する参照する背景日付と時間をフォーマットする...

Linuxでホスト名を変更する方法

1. 現在のホスト名を表示する [root@fangjian ~]# ホスト名ctl 静的ホスト名:...

Vueページの初回読み込み最適化の全プロセス

目次序文1. 画像の最適化2. .mapファイルの生成を無効にする3. ルーティングの遅延読み込み4...

MySQLでデータベースデータ保存ディレクトリを変更する方法

序文MySQL データベースのデフォルトのデータベース ファイルは /var/lib/mysql に...

MySQLコマンドプロンプトで入力エラーが発生したときに前のコマンドを修正する方法

目次現在の問題解決プロセス具体的な手順解決した事件現在の問題MySQL コマンド プロンプトに複数行...

要素 UI に基づいてクエリ コンポーネントを段階的にカプセル化する方法

目次関数基本的なクエリ関数クエリ条件の初期化ページのレンダリングクエリと表示の最適化をさらに強化プル...