【问题标题】:MySQL PHPMyAdmin Error #1062 - Duplicate entry '0' for key 'PRIMARY'MySQL PHPMyAdmin 错误 #1062 - 键 'PRIMARY' 的重复条目 '0'
【发布时间】:2017-10-09 02:58:17
【问题描述】:

现在我想添加一个主键 id 列但它会抛出错误:

#1062 - 键“PRIMARY”的重复条目“0”

我已经尝试过了: Add primary key to existing table

【问题讨论】:

  • 如您所见,您的表中有多个 id 为 0 的条目。主键必须是唯一的。因此,您必须先使 id 唯一,然后才能添加主键
  • @Jens 我需要手动更改吗?
  • 是的,我想是的..

标签: mysql phpmyadmin mysql-error-1062


【解决方案1】:

当您创建一个新列时,会分配一个默认值(在您的情况下为 0),因此您需要指定它将具有的值(此外,您可以告诉该列是自动增量的,它会为您处理新的行条目)。 您必须将所有值更改为不同的值,id 键必须是唯一的

要更改你所有的 id,在 mysql 中你可以这样做:

SET @new_id=0;
UPDATE your_table
SET id = @new_id := @new_id + 1
where id = 0

【讨论】:

  • 我知道这个兄弟,但我忘了添加主键
  • 我给你添加了一个在mysql中更新你的表的方法:),现在你知道怎么做了
  • 没问题的朋友,我一直很喜欢帮忙,你的问题会很有帮助的!
【解决方案2】:

首先请使用以下查询更改表的 ID

SET @counter = 1
UPDATE #tablename
SET @counter = id = @counter + 1

然后应用主键。

【讨论】:

  • 它显示以下错误 #1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'DECLARE counter int SET counter = 0 UPDATE images_proposals SET counter = ' 附近使用正确的语法
  • 我删除了@它不允许我发帖
猜你喜欢
  • 2012-08-24
  • 1970-01-01
  • 2015-06-09
  • 1970-01-01
  • 2017-08-07
  • 2014-09-04
  • 2023-03-07
  • 1970-01-01
相关资源
最近更新 更多