MySQL报错Specified key was too long; max key length is 767 bytes

豆丁趣

关注

阅读 81

2022-06-11

或者说,如下错误:

Specified key was too long; max key length is 1000 bytes;

这是由于索引长度超出了限制,故创建失败。

解决办法:将有索引的列长度减小即可。

如​​e_mail varchar(300) to e_main varchar(100)​​;

说明如下:

在MyISAM表中,创建索引时,创建的索引长度不能超过1000bytes;

在InnoDB表中,创建索引时,索引的长度不成超过767byts ;

建立索引时,数据库计算key的长度是累加所有Index用到的字段的char长度后再按下面比例乘起来不能超过限定的key长度:

latin1 = 1 byte = 1 character 
uft8 = 3 byte = 1 character
gbk = 2 byte = 1 character


精彩评论(0)

0 0 举报