MySQL解决:Specified key was too long; max key length is 767 bytes

Posted 天乔巴夏丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL解决:Specified key was too long; max key length is 767 bytes相关的知识,希望对你有一定的参考价值。

问题产生:

经过查找资料,应该是在给一个varchar(255)类型的字段建立索引的时候,超过了767字节的长度。

解决办法:

可以适当修改字段的长度,修改细节需要根据编码格式来考虑。

如果字段长度为100,编码方式为utf8,那么最大占用300字节,但如果是utf8mb4,则最大占用400字节。

另:数据库的编码格式可以通过以下命令查看:

SHOW VARIABLES LIKE ‘character_set_database‘;

可以通过以下命令设置:

ALTER DATABASE `table_name` CHARACTER SET utf8 ;

以上是关于MySQL解决:Specified key was too long; max key length is 767 bytes的主要内容,如果未能解决你的问题,请参考以下文章

Mysql执行脚本Specified key was too long; max key length is 767 bytes问题解决

Mysql执行脚本Specified key was too long; max key length is 767 bytes问题解决

Mysql Specified key was too long; max key length is 767 bytes

mysql: Specified key was too long; max key length is 767 bytes

MySQLMysql2::Error: Specified key was too long; max key length is 767 bytes

记录:解决mysql5.6 1071- Specified key was too long;max key length is 3072 bytes问题亲测有效