2016-08-22 70 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。 –