2016-08-22 69 views
-3

MySQL的獨特的專欄中,我有一個表的用戶,用下面的表結構的手機號碼

id 
name 
email_id (primary and unique) 
mobile_number 
active 

與該行的值:

1 Chris [email protected] 9042699090 1 
2 Roger [email protected] null  0 
3 mark [email protected] null  0 

現在我需要改變列MOBILE_NUMBER是唯一,當我通過phpmyadmin設置唯一的密鑰時,我得到錯誤重複條目9042699090,我該如何解決這個錯誤。

+1

如果克里斯和Roger具有相同的手機號碼,手機類號碼不能是唯一的 – baddger964

+0

你不能讓手機號碼UNIQUE列,因爲有重複的關於你提到的手機號碼記錄。 您必須刪除一個條目或使其他列獨一無二。 – Priyanshu

+0

好吧,可以在移動號碼中更新空值 – user3929758

回答

1

以下查詢顯示重複值。您必須先刪除所有重複項,然後才能創建唯一密鑰。

SELECT mobile_number 
FROM users 
GROUP BY mobile_number 
HAVING count(*) > 1 
+0

空值也算作非唯一! – user3929758

+0

不可以。您可以有多個NULL值,但必須具有唯一的NOT-NULL。 –