ホームページ >データベース >mysql チュートリアル >重複エントリを処理しながら新しいレコードを MySQL に挿入するにはどうすればよいですか?

重複エントリを処理しながら新しいレコードを MySQL に挿入するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-28 04:55:13419ブラウズ

How to Insert New Records into MySQL While Handling Duplicate Entries?

MySQL で重複エントリを無視しながら新しいレコードを挿入する

PHP では、複数のレコードをユニークなフィールドを持つデータベース。重複エントリ エラーが発生せずに新しいレコードのみが挿入されるようにするには、次の方法を検討してください。

1. INSERT...IGNORE 構文

この構文により、MySQL はエラーを発生させることなく重複エントリを無視できます。例:

INSERT IGNORE INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

2. REPLACE INTO 構文

INSERT...IGNORE とは異なり、REPLACE INTO 構文は同じキー値で既存のレコードを上書きします。これは、既存のレコードの値を更新する場合に役立ちます:

REPLACE INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

3. INSERT... ON DUPLICATE KEY UPDATE 構文

この構文を使用すると、重複キーが見つかった場合に実行される更新ステートメントを指定できます。たとえば、重複レコードの列の値を更新するには:

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...) ON DUPLICATE KEY UPDATE column2 = newValue;

列 ID と値を持つ tbl という名前のテーブルがあるとします。レコード付き>

  • REPLACE INTO

    REPLACE INTO tbl VALUES (1, 50);

    これにより、>

  • INSERT IGNORE

    INSERT IGNORE INTO tbl VALUES (1, 10);

    でレコードが更新されます。これにより、エントリが重複している場合、レコードは存在しません。

  • INSERT...ON DUPLICATE KEY UPDATE

    INSERT INTO tbl VALUES (1, 200) ON DUPLICATE KEY UPDATE value=200;

    これにより、レコードが >

で更新されます

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。