Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Rekod Baharu ke dalam MySQL Semasa Mengendalikan Entri Pendua?
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!