文章详情页
mysql UNIQUE的条件
浏览:217日期: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. docker安装后出现Cannot connect to the Docker daemon.2. 关docker hub上有些镜像的tag被标记““This image has vulnerabilities””3. docker gitlab 如何git clone?4. 在windows下安装docker Toolbox 启动Docker Quickstart Terminal 失败!5. golang - 用IDE看docker源码时的小问题6. mysql - 千万级数据表如何有效的变更字段?7. javascript - js 二维数组比较大小问题。8. dockerfile - [docker build image失败- npm install]9. docker-compose中volumes的问题10. delete关键字删除元素的时候,它的值是默认为什么类型呢?可以默认是为0嘛?
排行榜

网公网安备