Bagaimana Mengendalikan Entri Pendua Semasa Kemasukan Massa dalam MySQL?

DDD
Lepaskan: 2024-10-28 20:43:02
asal
403 orang telah melayarinya

How to Handle Duplicate Entries During Mass Insertion in MySQL?

MySQL: Mengabaikan Ralat Kemasukan Pendua semasa Kemasukan Massa

Apabila memasukkan berbilang rekod ke dalam pangkalan data dengan medan unik, pengendalian entri pendua menjadi perlu. Dalam PHP, anda mungkin menghadapi cabaran untuk mencegah ralat disebabkan oleh entri pendua.

Satu pendekatan ialah melakukan operasi SELECT sebelum setiap INSERT, menyemak kewujudan entri. Walau bagaimanapun, kaedah ini boleh menjadi tidak cekap untuk set data yang besar. Nasib baik, MySQL menawarkan beberapa penyelesaian untuk mengabaikan entri pendua semasa pemasukan.

INSERT...IGNORE Syntax

Kaedah paling mudah ialah menggunakan sintaks INSERT...IGNORE. Ini mengarahkan MySQL untuk membuang entri pendua tanpa menimbulkan ralat. Contohnya:

INSERT IGNORE INTO tbl_name (field1, field2) VALUES (value1, value2);
Salin selepas log masuk

GANTIKAN KE DALAM Sintaks

Pilihan lain ialah GANTIKAN KE DALAM sintaks. Ini akan menimpa rekod sedia ada dengan kunci utama yang sama. Contohnya:

REPLACE INTO tbl_name (field1, field2) VALUES (value1, value2);
Salin selepas log masuk

INSERT...ON DUPLICATE KEY UPDATE Syntax

Akhir sekali, anda boleh menggunakan INSERT...ON DUPLICATE KEY UPDATE sintaks untuk melakukan kemas kini pada rekod sedia ada bukannya memasukkan pendua. Contohnya:

INSERT INTO tbl_name (field1, field2) VALUES (value1, value2) ON DUPLICATE KEY UPDATE field2 = value2;
Salin selepas log masuk

Contoh

Pertimbangkan jadual bernama tbl dengan dua lajur, id dan nilai. Dengan mengandaikan jadual pada mulanya mengandungi satu rekod dengan id=1 dan nilai=1, kod berikut menunjukkan kesan sintaks yang berbeza:

-- 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;
Salin selepas log masuk

Selepas operasi ini, jadual mengandungi satu rekod dengan id= 1 dan nilai=200.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!