Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Baris Pendua ke dalam Jadual MySQL Tanpa Menyenaraikan Lajur?
Menyalin Baris ke dalam Jadual MySQL yang Sama Tanpa Penyenaraian Lajur
Dalam MySQL, seseorang boleh menghadapi ralat "Entri pendua 'xxx' untuk kunci 1 " apabila cuba memasukkan baris ke dalam jadual yang sudah mengandungi nilai kunci utama yang sama. Ini kerana MySQL menguatkuasakan nilai unik untuk kunci utama.
Untuk menyelesaikan isu ini sambil mengelakkan penyenaraian manual semua lajur, kaedah yang lebih mudah wujud:
CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM table WHERE primarykey = 1;
UPDATE tmptable_1 SET primarykey = NULL;
INSERT INTO table SELECT * FROM tmptable_1;
DROP TEMPORARY TABLE IF EXISTS tmptable_1;
Dengan menetapkan kunci utama kepada NULL dalam jadual sementara , MySQL boleh menjana nilai unik baharu secara automatik apabila memasukkan baris ke dalam jadual utama, sekali gus mengelakkan ralat kemasukan pendua.
Untuk jaminan tambahan, pertimbangkan untuk menambah klausa LIMIT 1 pada penghujung baris INSERT INTO untuk memastikan hanya satu baris dimasukkan.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Baris Pendua ke dalam Jadual MySQL Tanpa Menyenaraikan Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!