MySQL 挿入時の重複エントリ エラーを処理するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-26 23:40:30
オリジナル
266 人が閲覧しました

How to Handle Duplicate Entry Errors During MySQL Inserts?

MySQL 挿入中の重複エントリ エラーの処理

一意のフィールドを持つ MySQL データベースにデータを挿入する場合、多くの場合、重複を処理することが望ましいです。エラーが発生することなく正常にエントリが実行されます。この記事では、挿入中の重複エントリ エラーを無視するためのさまざまな方法について説明します。

INSERT...IGNORE

INSERT...IGNORE 構文では、次の挿入が可能です。潜在的な重複エラーを無視して、レコードをテーブルに追加します。同じ一意のフィールド値を持つエントリが存在する場合、挿入はエラーを引き起こさずに単純にスキップされます。

REPLACE INTO

REPLACE INTO 構文は次のように似ています。 INSERT...IGNORE ですが、同じ一意のフィールド値を持つ既存のレコードが上書きされます。これは、古いレコードを新しいレコードで置き換える場合に便利です。

INSERT...ON DUPLICATE KEY UPDATE

INSERT... ON DUPLICATE KEY UPDATE 構文を使用すると、重複エントリが見つかったときに実行するアクションを指定できます。既存のレコードを新しい値で更新するか、特定の列に新しい値を設定するか、その他の操作を実行するかを選択できます。

id value
1 1
一意の列「id」を持つ次のテーブル:

    これらのメソッドの機能をデモンストレーションするには:
  • REPLACE INTO:
<code class="sql">REPLACE INTO tbl VALUES (1, 50);</code>
ログイン後にコピー

    これにより、id=1 の既存のレコードが新しい値 value=50 に置き換えられます。
  • INSERT IGNORE:
<code class="sql">INSERT IGNORE INTO tbl VALUES (1, 10);</code>
ログイン後にコピー

    これにより、重複エントリが無視され、テーブルは変更されません。
  • INSERT...ON DUPLICATE KEY UPDATE:
<code class="sql">INSERT INTO tbl VALUES (1, 200) ON DUPLICATE KEY UPDATE value=200;</code>
ログイン後にコピー

これにより、id=1 の既存のレコードが value=200 に更新されます。

以上がMySQL 挿入時の重複エントリ エラーを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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