mysql utf8mb4 主鍵不能太長

[2020-06-03 17:44:21]  Error 1071: Specified key was too long; max key length is 767 bytes 
2020/06/03 17:44:21 create tables err: Error 1071: Specified key was too long; max key length is 767 bytes
 

Uid           string `json:"uid" gorm:"primary_key;size:100;index:uid;"`

主關鍵字如果爲varchar,長度超過255,便會提示錯誤,解決方法是減少主關鍵字的長度。
另外在mysql中還有一個問題必須注意,那就是utf-8默認是一個字符佔用三個字節,對於GBK這些編碼方式佔用的是2個字節,因此如果你的字符集編碼格式爲utf-8的話,那麼767/3=255個字符,只能支持到255個字符,而非767,這點需要特別注意。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章