Rumah  >  Artikel  >  pangkalan data  >  Mengapa saya mendapat \"Kod Ralat: 1062. Ralat Kemasukan Pendua: Menyelesaikan \"ID\" Isu Lajur\"?

Mengapa saya mendapat \"Kod Ralat: 1062. Ralat Kemasukan Pendua: Menyelesaikan \"ID\" Isu Lajur\"?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-30 22:57:29811semak imbas

Why am I getting

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!

Kenyataan:
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