最も一般的な方法は、フィールドに主キーまたは一意のインデックスを設定することです。重複データを挿入するとエラーがスローされ、プログラムが終了しますが、これは後続の処理に支障をきたします。そのため、挿入ステートメントには、例外をできるだけ回避または無視するための特別な処理が必要です。以下に簡単に紹介します。興味のある方は試してみてください。 デモンストレーションの便宜上、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 の使用
ドロップダウン メニューやスライド メニューを使用している Web サイトをたくさん見つけたので、私...
1. MySQL jdbc ドライバー (mysql-connector-java-5.1.28.j...
イメージをプルします: [mall@VM_0_7_centos ~]$ sudo docker pu...
最近、MySQL の起動中にエラーが発生しました。エラー メッセージは次のとおりです。 エラー 20...
問題の説明フロントエンドリモート検索やファジークエリと呼ばれる種類のクエリがあります。 Ele.me...
JS の async 関数と await キーワード 関数ヘルワールド() { 「こんにちは!美しい...
1. HttpとHttpsの違いHTTP: インターネットで最も広く使用されているネットワーク プロ...
クエリを最適化するExplain ステートメントを使用してクエリ ステートメントを分析するExpla...
今はモバイルインターネットが急速に発展している時代です。スマートフォンやタブレットはますます普及し、...
質問1:エラーを報告する書き込み方法: GRANT OPTION を使用して、'123123...
1. 基本的な使い方 <!DOCTYPE html> <html lang=&qu...
質問Nginx は $remote_addr を実際の IP アドレスとして受け取りますが、実際には...
この記事では、参考までに、スネークゲームを実装するためのWeChatアプレットの具体的なコードを紹介...
1.まずnpmをアンインストールする sudo npm アンインストール npm -g 2. ノー...
目次mysql フィルター レプリケーションメインデータベースに実装ライブラリから実装いくつかの質問...