空值,但保留行(如果重复)(MySQL)

时间:2018-09-17 21:01:15

标签: mysql

我有一个具有80,000条记录的MySQL表。列之一是“电子邮件”。我想保留所有80,000行,但清空每个重复的电子邮件值。直接在MySQL中可以吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

假设您要从email_table中删除较高的id

DELETE e1 
FROM  email_table e1, email_table e2
WHERE e1.id > e2.id AND 
      e1.email = e2.email;

并为将来实施:

ALTER TABLE email_table ADD UNIQUE KEY email_unique(email);