mysql挿入の問題

WBOY
リリース: 2016-08-20 09:04:00
オリジナル
1047 人が閲覧しました

2 人のユーザーが同時にデータを挿入し、
テーブルセット名='tom',num=2に挿入
テーブルセット名='jack',num=2に挿入
しましたが、ビジネスロジックでは許可されていません繰り返し表示される数値。
MySQL による重複データの挿入を制限するにはどうすればよいですか?
1. ジョイント一意インデックスを追加しますが、プログラムはエラーを報告しますが、これは実行不可能と思われます。
他の方法はありますか?

返信内容:

2 人のユーザーが同時にデータを挿入し、
テーブルセット名='tom',num=2に挿入
テーブルセット名='jack',num=2に挿入
しましたが、ビジネスロジックでは許可されていません繰り返し表示される数値。
MySQL による重複データの挿入を制限するにはどうすればよいですか?
1. ジョイント一意インデックスを追加しますが、プログラムはエラーを報告しますが、これは不可能と思われます。
他の方法はありますか?

一意のインデックスを使用し、挿入シナリオでトランザクション処理を使用し、重複する値がある場合はトランザクション リマインダーをスローします。

プログラムがエラーを報告しますか?
対応する例外をキャッチして、戻ってビジネスの説明を行うだけです。

insert ignoreまさか

つまり、各挿入の前に、テーブルの num フィールドに挿入する値があるかどうかを確認する必要があり、同時実行性も考慮する必要があります。右? mysql トランザクションまたは mysql ロック テーブル メカニズムを使用します。

アプリケーションがデータベースのエラー情報を取得し、対応する説明を提供できるように、データベースに独自の検証メカニズムを持たせることをお勧めします。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート