您的位置:首頁技術文章
文章詳情頁

mysql UNIQUE的條件

瀏覽:94日期: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:

直接進數據庫操作啊,你添加索引就會有命令提示,這樣不就知道哪里錯了

相關文章:
国产综合久久一区二区三区