Rumah > Artikel > pangkalan data > Mengapa saya mendapat \"Kod Ralat: 1062. Ralat Kemasukan Pendua: Menyelesaikan \"ID\" Isu Lajur\"?
Kod Ralat: 1062. Ralat Kemasukan Pendua: Menyelesaikan Isu Lajur "ID"
Ralat yang dihadapi, "Kod Ralat: 1062. Entri pendua '1' untuk kunci 'PRIMER'," menandakan konflik dalam nilai dalam kunci utama. Mari kita teliti jadual dan tentukan punca isu ini:
Jadual UFICIO-INFORMAZIONI
Jadual yang disediakan menggariskan lajur jadual UFFICIO-INFORMAZIONI, yang termasuk 'ID,' 'viale' dan atribut lain. Lajur 'ID' ditetapkan sebagai kunci utama, menunjukkan bahawa nilainya mestilah unik untuk setiap baris.
Punca Ralat Kemasukan Pendua
Ralat timbul kerana lajur 'ID' ditakrifkan dengan entri pendua. Dalam pernyataan SQL yang anda berikan:
<code class="sql">INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`ID`, `viale`, `num_civico`, ...) VALUES (1, 'Viale Cogel ', '120', ...)</code>
Lajur 'ID' ditetapkan secara eksplisit kepada '1,' yang bercanggah dengan kekangan kunci utama. Memandangkan kunci utama mestilah unik, pangkalan data menghasilkan ralat.
Penyelesaian: Menggunakan AUTO_INCREMENT
Untuk menyelesaikan isu ini, pertimbangkan untuk menetapkan lajur 'ID' sebagai AUTO_INCREMENT . Dengan berbuat demikian, pangkalan data secara automatik menjana nilai unik untuk lajur 'ID' semasa operasi sisipan, memastikan integriti kunci utama.
Berikut ialah definisi jadual yang diubah suai dengan AUTO_INCREMENT:
<code class="sql">CREATE TABLE IF NOT EXISTS `PROGETTO`.`UFFICIO-INFORMAZIONI` ( `ID` INT(11) NOT NULL AUTO_INCREMENT, `viale` VARCHAR(45) NULL , .....</code>
Memasukkan Rekod Tanpa Menentukan 'ID'
Apabila memasukkan rekod dengan AUTO_INCREMENT didayakan, anda boleh melangkau menentukan lajur 'ID' dalam pernyataan SQL. Pangkalan data secara automatik memberikan ID unik kepada setiap baris.
Contohnya:
<code class="sql">INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`viale`, `num_civico`, ...) VALUES ('Viale Cogel ', '120', ...)</code>
Dengan menangani isu kemasukan pendua dan melaksanakan AUTO_INCREMENT, anda boleh memastikan kemasukan rekod yang lancar ke dalam UFFICIO -jadual INFORMAZIONI.
Atas ialah kandungan terperinci Mengapa saya mendapat \"Kod Ralat: 1062. Ralat Kemasukan Pendua: Menyelesaikan \"ID\" Isu Lajur\"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!