文章详情页
mysql UNIQUE的条件
问题描述
ALTER TABLE `table` ADD `unionid` VARCHAR( 255 ) NOT NULL
然后设置唯一索引
ALTER TABLE `table` ADD UNIQUE (`unionid`)
提示
1062 - Duplicate entry ’’ for key ’unionid’请问这是为什么呢?
问题解答
回答1:第一句SQL:你给table表增加了unionid列,并且是非空字符串,所以初始值是空字符串’’;
第二句SQL:你给table表的unionid列建立唯一约束,但唯一约束的前提是unionid列的值不重复,然而unionid列的所有值都是空字符串’’,所以会报Duplicate entry ’’ for key ’unionid’。
解决方法:先把unionid的值修正为不重复后再给该列添加唯一约束。
回答2:直接进数据库操作啊,你添加索引就会有命令提示,这样不就知道哪里错了
相关文章:
1. javascript - 关于在angularjs的select中遇到的问题!!2. css3 - 我的css用less写的,eclipse的jsp文件要修改css很麻烦,怎么解决?3. python - Pycharm调试代码进行列表遍历时,如何直接赋值指定元素4. atom编译器 如何格式化前端代码文件?5. angular.js - ng-repeat的数据排序,我用了orderBy: d.supportNum为什么失效?6. android - 新建项目卡在Gradle:Resolvedependencies’:app:_debugCompile’7. javascript - webpack热加载配置不生效8. Android Studio 中程序添加不上Xutils 3.0 jar包9. android - NavigationView 的侧滑菜单中如何保存新增项(通过程序添加)10. python - 基于scrapy-redis的分布式爬虫运行的时候不能正常运行 遇到的问题如下截图所示
排行榜