Mysql 更新字段获取主键的重复项,因此我要删除

Mysql 更新字段获取主键的重复项,因此我要删除,mysql,sql-update,Mysql,Sql Update,我用这样的语句修改了200万行: UPDATE table SET fieldname=REPLACE(fieldname,'APS','') 错误是: #1062 - Duplicate entry 'asdsads' for key 'PRIMARY' 如何运行此命令,然后删除所有重复的行?您可以轻松完成: 1)删除主键 ALTER TABLE `yourTable` DROP PRIMARY KEY; 2)更新表格 UPDATE yourTable SET fieldname=REP

我用这样的语句修改了200万行:

UPDATE table SET fieldname=REPLACE(fieldname,'APS','')
错误是:

#1062 - Duplicate entry 'asdsads' for key 'PRIMARY'
如何运行此命令,然后删除所有重复的行?

您可以轻松完成:

1)删除主键

ALTER TABLE `yourTable`
DROP PRIMARY KEY;
2)更新表格

UPDATE yourTable SET fieldname=REPLACE(fieldname,'APS','');
3)使用IGNORE-创建一个新的主键,删除重复项

ALTER IGNORE TABLE `yourTable` 
ADD PRIMARY KEY (`fieldname `);
你能做的很简单:

1)删除主键

ALTER TABLE `yourTable`
DROP PRIMARY KEY;
2)更新表格

UPDATE yourTable SET fieldname=REPLACE(fieldname,'APS','');
3)使用IGNORE-创建一个新的主键,删除重复项

ALTER IGNORE TABLE `yourTable` 
ADD PRIMARY KEY (`fieldname `);


字段名是否用于PK?@WickedFan是的,根据定义,PK字段必须是唯一的。该字段是否设置了标识?表中是否有其他PK字段?是否有任何FK链接到它们?请指定
的完整主键-否则这将成为一个非常抽象的讨论…@WickedFan我知道它必须是唯一的。这就是为什么如果密钥已经存在,我想删除更新的密钥。没有其他PK或PK链接。字段名是否用于PK?@WickedFan是的,根据定义,PK字段必须是唯一的。该字段是否设置了标识?表中是否有其他PK字段?是否有任何FK链接到它们?请指定
的完整主键-否则这将成为一个非常抽象的讨论…@WickedFan我知道它必须是唯一的。这就是为什么如果密钥已经存在,我想删除更新的密钥。没有其他PK或PK链接。我正在尝试删除主键,但它已运行10分钟。这取决于您的服务器和服务器配置,表中有200万行。@用户-我已在Mac Nook drop上创建了一个测试表并创建了主键。我的桌子有2.000.000行,需要13秒。each@User-在您的服务器上进行更改需要多长时间?我正在尝试删除主键,但它已经运行了10分钟。这取决于您的服务器和服务器配置,表中有200万行。@用户-我已经在Mac Nook drop上创建了一个测试表并创建了主键。我的桌子有2.000.000行,需要13秒。each@User-在您的服务器上进行更改需要多长时间?