首页  >  文章  >  数据库  >  为什么我在插入数据时收到“错误代码:1062。键“PRIMARY”的重复条目“1”?

为什么我在插入数据时收到“错误代码:1062。键“PRIMARY”的重复条目“1”?

DDD
DDD原创
2024-10-31 08:01:01816浏览

Why Am I Getting

重复主键错误:解决“错误代码:1062。键“PRIMARY”的重复条目“1””

尝试时向表中插入数据时,您可能会遇到错误消息“错误代码:1062。键“PRIMARY”的重复条目“1”。”此错误表示您正尝试将重复值插入到定义为主键。

在您的情况下,问题出在表 PROGETTO.UFFICIO-INFORMAZIONI 中。该表的主键定义为 ID。您已在 INSERT 语句中显式指定 ID 的值为 1:

INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`ID`, `viale`, `num_civico`, ...) 
VALUES (1, 'Viale Cogel ', '120', ...)

但是,该值已存在于表中。由于每条记录的主键都是唯一的,因此不能插入重复的值。

解决方案:使用自动增量

避免重复主键错误的推荐解决方案是对 ID 列使用自动增量。这意味着数据库将在插入期间自动为 ID 列生成唯一值。要启用自动增量,请修改表定义如下:

CREATE TABLE IF NOT EXISTS `PROGETTO`.`UFFICIO-INFORMAZIONI` (
  `ID` INT(11) NOT NULL AUTO_INCREMENT,
  `viale` VARCHAR(45) NULL,
  ...
);

启用自动增量后,您可以在 INSERT 语句中省略 ID 列:

INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`viale`, `num_civico`, ...) 
VALUES ('Viale Cogel ', '120', ...)

通过使用自增,数据库会自动为ID列分配唯一值,确保不会出现重复键错误。

以上是为什么我在插入数据时收到“错误代码:1062。键“PRIMARY”的重复条目“1”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn