最も一般的な方法は、フィールドに主キーまたは一意のインデックスを設定することです。重複データを挿入するとエラーがスローされ、プログラムが終了しますが、これは後続の処理に支障をきたします。そのため、挿入ステートメントには、例外をできるだけ回避または無視するための特別な処理が必要です。以下に簡単に紹介します。興味のある方は試してみてください。 デモンストレーションの便宜上、id、ユーザー名、性別、住所の 4 つのフィールドを持つユーザー テスト テーブルを作成しました。主キーは id (自動増分) で、ユーザー名フィールドには一意のインデックスが設定されています。 01 無視を挿入つまり、データを挿入するときに、データが存在する場合、挿入は無視されます。前提条件は、挿入されるデータ フィールドに主キーまたは一意のインデックスが設定されていることです。テスト SQL ステートメントは次のとおりです。このデータを挿入するとき、MySQL データベースはまず既存のデータ (つまり、idx_username インデックス) を検索します。存在する場合、挿入は無視されます。存在しない場合、データは通常どおり挿入されます。 02 重複キーの更新つまり、データを挿入するときに、データが存在する場合は更新操作が実行されます。前提条件は上記と同じで、挿入されたデータ フィールドにも主キーまたは一意のインデックスが設定されます。テスト SQL ステートメントは次のとおりです。このレコードを挿入すると、MySQL データベースはまず既存のデータ (idx_username インデックス) を取得します。存在する場合は更新操作が実行されます。存在しない場合は直接挿入されます。 03 置き換えるつまり、データを挿入するときに、データが存在する場合はそれを削除してから挿入します。前提条件は上記と同じです。挿入されたデータ フィールドには、主キーまたは一意のインデックスを設定する必要があります。テスト SQL ステートメントは次のとおりです。このレコードを挿入すると、MySQL データベースはまず既存のデータ (idx_username インデックス) を取得します。存在する場合は、まず古いデータを削除してから挿入します。存在しない場合は、直接挿入します。 04 存在しない場合は挿入つまり、 insert into ... select ... where not existing ... です。この方法は、主キーまたは一意のインデックスを持たないデータ フィールドを挿入するのに適しています。データを挿入するときは、まずそのデータが MySQL データベースに存在するかどうかを判断します。存在しない場合は、通常どおり挿入します。存在する場合は無視します。 現在、私はMySQLで重複データを処理するこれらの4つの方法を共有します。最初の3つの方法は、主キーまたは一意のインデックスが設定されているフィールドに適しており、最後の方法にはそのような制限はありません。使用プロセスに精通している限り、すぐに習得できます。インターネット上には関連資料やチュートリアルもあり、詳細に紹介されています。興味がある場合は、検索してください。 これで、MySQL で重複データ挿入を回避する 4 つの方法についての記事は終了です。MySQL で重複データ挿入を回避する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: WeChat アプレット開発フォーム検証 WxValidate の使用
最近、MySQL を使用してテーブル データを Excel ファイルにエクスポートしました。MySQ...
1. ポジショニングとは何ですか? CSS の position 属性には、absolute/re...
1.デバイス幅定義: 出力デバイスの画面表示幅を定義します。 Web ページが Safari で開か...
サーバーにはNginx、データベースサポートにはMongo、Python言語のWebフレームワークに...
折りたたみ表示の複数行テキストコンポーネント複数行のテキスト コンポーネントを折りたたんで表示し、展...
この記事の例では、すべてのチェックボックスの選択を実現するためのJavaScriptの具体的なコード...
目次1. 父から息子へ2. 息子から父へ3. ブラザーコンポーネント通信(バス) 4. ref/re...
デフォルトでは、表のタイトルは水平方向に中央揃えされます。ALIGN 属性を使用して、タイトル テキ...
次に、2 つのテーブルを作成し、一連の SQL 文を実行します。SQL 文の実行後にテーブル内のデー...
virtualenv は、分離された Python 仮想環境を作成するためのツールです。独立したディ...
背景当初は VMware の公式 Web サイトから 6.7 Vcenter をダウンロードしたかっ...
初期のコンピュータでは ASCII 文字しか使用できませんでしたが、コンピュータのアプリケーションの...
MySQL シーケンス AUTO_INCREMENT の詳細な説明とサンプルコードMySQL シーケ...
目次1. 環境設定1.NTPサーバー2. ビジネスサーバー2. NTPサーバーの設定1. chron...
フロントエンド Web エンジニアとして、ページ効果を作成するときに次の現象に遭遇したことがあるはず...