2013-10-21 105 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」。與原始表格相同,但所有電子郵件現在都包含單引號。