重复主键错误:解决“错误代码: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中文网其他相关文章!