文章詳情頁
mysql UNIQUE的條件
瀏覽:130日期: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. angular.js使用$resource服務把數據存入mongodb的問題。2. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?3. debian - docker依賴的aufs-tools源碼哪里可以找到啊?4. docker api 開發的端口怎么獲取?5. golang - 用IDE看docker源碼時的小問題6. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””7. docker-compose中volumes的問題8. dockerfile - 為什么docker容器啟動不了?9. docker start -a dockername 老是卡住,什么情況?10. javascript - 有沒有iOS微信中可以在背景播放視頻的方法?
排行榜
