文章详情页
mysql UNIQUE的条件
浏览:265日期:2022-06-18 16:22:29
问题描述
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. 编辑管理员信息时,为什么没有修改过的内容会为空?2. thinkphp中Controller里面使用Request::File(’image’);3. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?4. node.js - vue项目在c盘外,npm run dev 出错,求指点。5. mysql - 看这条sql有可能被注入吗6. javascript - js中数组的undefined为什么不会被遍历7. java 如何列出jar包中jar包里的所有文件和目录?8. html - angularJS中switch切换开关按钮不能操作9. javascript - 如何将一个长为365的数组对象按月份切割成12组?10. css3不包括
排行榜

网公网安备