MySQL PHPMyAdmin错误 #1062 - 主键'PRIMARY'出现重复输入 '0'。

3

MySQL 数据表

现在我想添加一个名为id的主键列,但是它会抛出以下错误:

#1062 - 主键 'PRIMARY' 中的重复项 '0'

我已经尝试过这个方法: 添加现有表的主键


正如您所看到的,您的表中有多个ID为0的条目。主键必须是唯一的。因此,在添加主键之前,您必须使ID唯一。 - Jens
@Jens 我需要手动更改它吗? - Sugumar Venkatesan
是的,我也这么认为。 - Jens
2个回答

3
当您创建新列时,会分配一个默认值(在您的情况下将为0),因此您需要指定它将具有哪些值(此外,您可以告诉该列自动增量,并且它将为行的新条目完成工作)。
您必须更改所有值以使它们彼此不同,id键必须是唯一的。
要更改所有ID,在MySQL中,您可以执行以下操作:
SET @new_id=0;
UPDATE your_table
SET id = @new_id := @new_id + 1
where id = 0

1
我知道这个,但是我忘记添加主键了。 - Sugumar Venkatesan
我为您添加了一种在MySQL中更新表格的方法,现在您知道如何操作了。 - developer_hatch
没问题,伙计。我一直很乐意帮忙,你的问题会对很多人有所帮助! - developer_hatch

0

首先请使用以下查询更改表的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 = '。 - Sugumar Venkatesan
我删掉了@符号,因为它不允许我发布。 - Sugumar Venkatesan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接