文章詳情頁
mysql UNIQUE的條件
瀏覽:108日期:2022-06-18 16:22:29
問題描述
ALTER TABLE `table` ADD `unionid` VARCHAR( 255 ) NOT NULL
然后設(shè)置唯一索引
ALTER TABLE `table` ADD UNIQUE (`unionid`)
提示
1062 - Duplicate entry ’’ for key ’unionid’請問這是為什么呢?
問題解答
回答1:第一句SQL:你給table表增加了unionid列,并且是非空字符串,所以初始值是空字符串’’;
第二句SQL:你給table表的unionid列建立唯一約束,但唯一約束的前提是unionid列的值不重復(fù),然而unionid列的所有值都是空字符串’’,所以會報Duplicate entry ’’ for key ’unionid’。
解決方法:先把unionid的值修正為不重復(fù)后再給該列添加唯一約束。
回答2:直接進數(shù)據(jù)庫操作啊,你添加索引就會有命令提示,這樣不就知道哪里錯了
相關(guān)文章:
1. 獲取上次登錄ip的原理是啥?2. 多種方式登陸的的用戶數(shù)據(jù)表設(shè)計3. 沒有輸出結(jié)果,也沒有報錯信息4. phpstudy v8打開數(shù)據(jù)庫就出錯,而phpstudy 2018不會5. 為什么點擊登陸沒反應(yīng)6. 在視圖里面寫php原生標簽不是要迫不得已的情況才寫嗎7. fetch_field_direct()報錯8. 為什么說非對象調(diào)用成員函數(shù)fetch()9. 求救一下,用新版的phpstudy,數(shù)據(jù)庫過段時間會消失是什么情況?10. 請問下tp6框架的緩存在哪里設(shè)置,或者說關(guān)閉?
排行榜

熱門標簽