Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mencegah Penyertaan Pendua dalam MySQL Apabila Memasukkan Data dalam PHP?
Isu:
Memasukkan beribu-ribu rekod ke dalam jadual dengan nilai pendua boleh membawa kepada integriti data isu. Bagaimanakah kita boleh menghalang entri pendua semasa menggelungkan skrip dalam PHP?
Penyelesaian:
Buat Kunci Unik:
Tentukan INDEKS UNIK pada gabungan lajur yang sepatutnya unik (cth., pageId dan nama):
ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
Mengendalikan Pendua:
Kini, anda perlu memutuskan cara mengendalikan pendua entri:
Abaikan Pendua:
$query = "INSERT IGNORE INTO thetable (pageid, name) VALUES (1, 'foo'), (1, 'foo')";
Tulis Ganti Sedia Ada Rekod:
$query = "INSERT INTO thetable (pageid, name, somefield) VALUES (1, 'foo', 'first') ON DUPLICATE KEY UPDATE (somefield = 'first')";
Kaunter Kemas Kini:
$query = "INSERT INTO thetable (pageid, name) VALUES (1, 'foo'), (1, 'foo') ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)";
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Penyertaan Pendua dalam MySQL Apabila Memasukkan Data dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!