Mysql唯一索引區分大小寫問題

2021-10-08 07:31:13 字數 560 閱讀 4254

最近在做乙個專案,需要批量新增一大堆資料做查詢,做好sql優化後,準備插入資料時發現,原本規定有乙個列的資料本來是唯一的資料,但其中有兩個資料是一樣一樣的,只是大小寫不同,經過和資料提供者的協調,發現資料正常,確實有一些資料是大小寫不同,但是這些是正常資料。

設定唯一索引

alter

table

[表名稱]

addunique

([欄位名稱]

)

但是mysql資料庫做好了唯一索引後,插入這種資料報錯,原因當然是唯一欄位不區分大小寫了。

只要修改一下就好了

alter

table

[表名稱]

modify

[欄位名稱]

[varchar(30

)]binary

;

注意: 欄位名稱後面的 varchar(30) 這個是 欄位的型別和長度,需要修改為自己的字段的型別和長度。

這樣唯一字段即可區分大小寫。而且在查詢的時候也區分了大小寫。

MYSQL 區分大小寫

1 linux下mysql安裝完後是預設 區分表名的大小寫,不區分列名的大小寫 2 用root帳號登入後,在 etc my.cnf 中的 mysqld 後新增新增lower case table names 1,重啟mysql服務,這時已設定成功 不區分表名的大小寫 lower case table...

mysql區分大小寫

兩種情況下會區分大小寫,1 建表時,表的編碼是utf8 bin utf8 general ci不會區分大小寫 注意是表編碼不是資料庫編碼。區分大小寫與資料庫編碼無關。2 建表後,可以通過 binary調整。語句如下 alter table wl testdx bin wlt testdx bin m...

oracle遷移mysql唯一索引大小寫不區分別怕

專案要從oracle遷移mysql 發現 mysql的唯一索引不區分大小寫,會報錯 錯誤 1062 duplicate entry 8a84cc20713c2a570171bfb3515e5fb6 forkey pm sin project info.primary 有兩種解決方案 在建立表的時候在...