ALTER TABLE `table` ADD `unionid` VARCHAR( 255 ) NOT NULL
然后设置唯一索引
ALTER TABLE `table` ADD UNIQUE (
`unionid`
)
提示
1062 - Duplicate entry '' for key 'unionid'
请问这是为什么呢?
ALTER TABLE `table` ADD `unionid` VARCHAR( 255 ) NOT NULL
然后设置唯一索引
ALTER TABLE `table` ADD UNIQUE (
`unionid`
)
提示
请问这是为什么呢?
5 回答3.3k 阅读✓ 已解决
3 回答3.7k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
2 回答2.1k 阅读
3 回答2k 阅读
1 回答3.6k 阅读
第一句SQL:你给
table
表增加了unionid
列,并且是非空字符串,所以初始值是空字符串''
;第二句SQL:你给
table
表的unionid
列建立唯一约束,但唯一约束的前提是unionid
列的值不重复,然而unionid
列的所有值都是空字符串''
,所以会报Duplicate entry '' for key 'unionid'
。解决方法:先把
unionid
的值修正为不重复后再给该列添加唯一约束。