2013-10-21 73 views
0

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

因此,让所有的不同值的,我用这个:

SELECT * 
FROM users 
GROUP BY email 
ORDER BY user_id; 

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

我怎样才能得到的数据,而不必手动报价13,000电子邮件地址,所以我可以重新导入这些数据?

+0

你可以编写一个脚本在电子邮件地址周围加引号 –

+0

@JayNebhwani尽管我不应该那样做。 – Sethen

+0

你可以像做电子邮件一样做SELECT'''+ email +'“'吗? – jcwrequests

回答

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”。与原始表格相同,但所有电子邮件现在都包含单引号。