数据库版本:mysql5.7
索引类型:组合索引
存储引擎:innodb
字符集:utf-8
报错:Specified key ‘索引名’ was too long; max key length is 767 byte
原因:组合索引的字段长度超过mysql 的最大限制
mysql数据库对于不同的存储引擎下的单表索引长度限制:
innodb下单表索引最大长度797bytes,myisam最大长度为1000bytes。
由于数据库使用的是utf-8编码,一个字符等于3个字节,换算后innodb表(utf-8下)索引字段最大长度为255,myisam表(utf-8)索引字段长度最大为333。
解决办法:将组合索引拆分为单个索引。