首頁 >資料庫 >mysql教程 >為什麼我在 MySQL 中收到「主鍵重複條目」錯誤(代碼 1062)?

為什麼我在 MySQL 中收到「主鍵重複條目」錯誤(代碼 1062)?

Barbara Streisand
Barbara Streisand原創
2024-10-31 12:42:01703瀏覽

Why am I getting a

MySQL 錯誤:主鍵重複條目

錯誤代碼:1062。鍵「PRIMARY」的重複條目「1」

問題:

嘗試將新行插入UFFICIO-INFORMAZIONI 表時,您收到一條錯誤,指出主鍵值“1”存在重複條目。

說明:

主鍵是對表中的一列或一組列的唯一限制。它確保每一行都有唯一的識別碼。在您的情況下,ID 欄位被定義為主鍵,這表示沒有兩行可以具有相同的 ID 欄位值。

原因:

引發該錯誤的原因是您嘗試插入表中已存在 ID 值的新行。這違反了主鍵約束,因為不能有兩行具有相同的主鍵值。

解決方案:

此問題有兩種可能的解決方案:

  1. 使用自動遞增:將ID 欄位變更為自動遞增列。這將允許資料庫自動為每個新行產生唯一的 ID 值,從而無需明確指定 ID 值。
  2. 指定唯一 ID 值: 如果您不想使用自動遞增,您需要確保每個新行指定的 ID 值是唯一的。您可以產生自己的唯一 ID 值或使用 UUID(通用唯一識別碼)庫。

範例:

要在MySQL 中使用自動遞增,修改表建立語句如下:

<code class="sql">CREATE  TABLE IF NOT EXISTS `PROGETTO`.`UFFICIO-INFORMAZIONI` (
  `ID` INT(11) NOT NULL AUTO_INCREMENT,
  `viale` VARCHAR(45) NULL ,
   .....</code>

這將會建立一個ID 列,該列會針對插入表中的每個新行自動遞增。然後,您可以在插入新行時省略 ID 值。

<code class="sql">INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`viale`, `num_civico`, ...)
VALUES ('Viale Cogel ', '120', ...)</code>

以上是為什麼我在 MySQL 中收到「主鍵重複條目」錯誤(代碼 1062)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn