mysql 中存在null和空时创建唯一索引的方法
好多情况下数据库默认值都有null,但是经过程序处理很多时候会出现,数据库值为空而不是null的情况。此时创建唯一索引时要注意了,此时数据库会把空作为多个重复值,而创建索引失败,示例如下: 步骤1: mysql> select phone,count(1) from User group by phone; 步骤一中发现数据库中有70条null数据,有40条为空的数据。 步骤2: mysql> select count(1) from User where phone is null; 经2再次验证数据库中null和空不一样的两个值。 步骤3: mysql> alter table User add constraint uk_phone unique(phone); 步骤4:将所有的空值改成null mysql> update User set phone = NULL where phone = ''; mysql> alter table User add constraint uk_phone unique(phone); 创建成功,OK了 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |