End.
原
MySQL字符串字段给索引,索引字段的长度多少?
索引报错,1089 - Incorrect prefix key;the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
我们知道MySQL的字符串字段,长度可以几千上万。比如varchar最大支持65535长度。char最大长度255。
所以在建立字符串字段索引的时候一般要加上索引的长度。
1、utf8字符集编码
对于字段编码为utf8的,索引长度小于等于1023才能创建索引,否则会创建失败。
2、utf8mb4字符集编码
对于字段编码为utf8mb4的,索引长度小于等于767才能创建索引,否则会创建失败。
(我们一般使用utf8mb4),所以我们记住767这个数字就好了。
utf8 - 1023
utf8mb4 - 767
End.