【发布时间】:2014-06-29 09:33:41
【问题描述】:
我已经在以下帖子中找到了部分解决方案:
Removing duplicate email address based on the lowest id in mysql
我有这个 MYSQL 表,其中还包含我希望从中删除重复项的电子邮件地址,以保持具有最高 ID 的重复项完好无损。 还有许多空的电子邮件字段应该被忽略并因此被保留。 之后,以后不再允许电子邮件字段重复条目。
我怎样才能做到这一点?我的头完全在这上面旋转,我想不通。 我想在 phpmyadmin 中执行此操作,因为它应该是一次性操作。
来自以下链接:MySQL remove duplicates from big database quick
我试过了:
create table tmp like yourtable;
alter table tmp add unique (text1, text2);
insert into tmp select * from yourtable
on duplicate key update text3=ifnull(text3, values(text3));
rename table yourtable to deleteme, tmp to yourtable;
drop table deleteme;
但这给了我关于 select * 语句(第 3 行)的语法错误。
【问题讨论】:
-
请提供您尝试过的sql。
标签: mysql