Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Rekod Baharu ke dalam MySQL Semasa Mengendalikan Entri Pendua?

Bagaimana untuk Memasukkan Rekod Baharu ke dalam MySQL Semasa Mengendalikan Entri Pendua?

DDD
DDDasal
2024-12-28 04:55:13416semak imbas

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

Memasukkan Rekod Baharu Semasa Mengabaikan Entri Pendua dalam MySQL

Dalam PHP, anda mungkin menghadapi senario di mana anda perlu memasukkan berbilang rekod ke dalam pangkalan data dengan medan unik. Untuk memastikan bahawa hanya rekod baharu dimasukkan tanpa menghadapi ralat kemasukan pendua, pertimbangkan pendekatan berikut:

1. INSERT... ABAIKAN Sintaks

Sintaks ini membenarkan MySQL mengabaikan entri pendua tanpa menimbulkan sebarang ralat. Contohnya:

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

2. REPLACE INTO Syntax

Tidak seperti INSERT... ABAIKAN, REPLACE INTO sintaks menimpa rekod sedia ada dengan nilai kunci yang sama. Ini boleh berguna jika anda ingin mengemas kini nilai rekod sedia ada:

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

3. INSERT... ON DUPLICATE KEY UPDATE Syntax

Sintaxis ini membolehkan anda menentukan pernyataan kemas kini untuk dilaksanakan jika kunci pendua ditemui. Contohnya, untuk mengemas kini nilai lajur dalam rekod pendua:

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

Contoh

Andaikan anda mempunyai jadual bernama tbl dengan id dan nilai lajur, dengan rekod>

  • GANTIKAN INTO

    REPLACE INTO tbl VALUES (1, 50);

    Ini akan mengemas kini rekod dengan>

  • INSERT IGNORE

    INSERT IGNORE INTO tbl VALUES (1, 10);

    Ini akan mengabaikan entri pendua dan tiada rekod disisipkan.

  • INSERT... PADA KEMASKINI KUNCI PENDUA

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

    Ini akan mengemas kini rekod dengan>

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Rekod Baharu ke dalam MySQL Semasa Mengendalikan Entri Pendua?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn