一、SQL错误(1071) : : Specified key was too long;max key lengthis 767 bytes
创建表的时候,若主键索引或联合索引大小超过默认值,则无法创建,修改mysql配置:
set global innodb_large_prefix = ON;(限制值会增加到3072)
系统变量innodb_large_prefix开启了,则对于使用DYNAMIC或COMPRESSED行格式的InnoDB表,索引键前缀限制为3072字节。如果禁用innodb_large_prefix,不管是什么表,索引键前缀限制为767字节。报错的那张表建立了一个varchar类型的索引,varchar(255),使用的字符集为(utf8mb4),这个指每个字符最大的字节数为4,所以很明显 4*255 > 767。