ホームページ >データベース >mysql チュートリアル >重複エントリを処理しながら新しいレコードを MySQL に挿入するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。