0

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

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

SELECT *
FROM users
GROUP BY email
ORDER BY user_id;

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

如何获取数据而无需手动在 13,000 个电子邮件地址附近加上引号,以便我可以重新导入这些数据?

4

1 回答 1

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

于 2013-10-21T00:31:40.033 回答