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

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

Barbara Streisand
发布: 2024-10-31 12:42:01
原创
702 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板