我在从MySQL数据库导出数据时遇到问题。基本上,我在数据库中有一些重复的记录(一些用户注册两次,没有服务器端代码阻止他们这样做)。
因此,为了获得所有不同的值,我使用它:
SELECT *
FROM users
GROUP BY email
ORDER BY user_id;
这非常简单,并且给了我我想要的数据,因此我可以重建数据库。问题是当数据从phpMyAdmin导出到sql文件中时,电子邮件字段中的值没有引号。因此,将其重新导入数据库会引发错误。
如何在不必手动输入大约13,000个电子邮件地址的情况下获取数据,以便重新导入此数据?
答案 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”。它与原始表格相同,除了所有电子邮件现在都包含单引号。