首页  >  文章  >  数据库  >  为什么我在 MySQL 中收到“主键重复条目”错误(代码 1062)?

为什么我在 MySQL 中收到“主键重复条目”错误(代码 1062)?

Barbara Streisand
Barbara Streisand原创
2024-10-31 12:42:01619浏览

Why am I getting a

MySQL 错误:主键重复条目

错误代码:1062。键重复条目“1” 'PRIMARY'

问题:

尝试将新行插入 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