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,这点需要特别注意。

你可能感兴趣的:(golang开发)