MySQL GROUP BY导出导致问题

时间:2013-10-21 00:14:34

标签: mysql

我在从MySQL数据库导出数据时遇到问题。基本上,我在数据库中有一些重复的记录(一些用户注册两次,没有服务器端代码阻止他们这样做)。

因此,为了获得所有不同的值,我使用它:

SELECT *
FROM users
GROUP BY email
ORDER BY user_id;

这非常简单,并且给了我我想要的数据,因此我可以重建数据库。问题是当数据从phpMyAdmin导出到sql文件中时,电子邮件字段中的值没有引号。因此,将其重新导入数据库会引发错误。

如何在不必手动输入大约13,000个电子邮件地址的情况下获取数据,以便重新导入此数据?

1 个答案:

答案 0 :(得分:1)

使用基于以下代码的脚本

创建表的副本
SELECT CONCAT('''', email, '''') AS email, rest_of_your_columns
FROM users
GROUP BY email, rest_of_your_columns
ORDER BY user_id
INTO new_users_table

在这种情况下,新表称为“new_users_table”。它与原始表格相同,除了所有电子邮件现在都包含单引号。