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的字符集为uft8

Mysql报错:Specified key was too long; max key length is 767 bytes_第1张图片

再次执行时正常。

二、mysql的字符集为utf8mb4

Mysql报错:Specified key was too long; max key length is 767 bytes_第2张图片

1、先检查一下数据库被限制了索引的大小
SHOW variables like ‘innodb_large_prefix’;
如果查询的值是off的话,执行下面的命令
SET GLOBAL INNODB_LARGE_PREFIX = ON;
2、执行完了,还需要查看当前innodb_file_format引擎格式类型是不是BARRACUDA
SHOW variables like ‘innodb_file_format’;
如果不是的话则需要修改
SET GLOBAL innodb_file_format = BARRACUDA;
 

然后再次执行正常

你可能感兴趣的:(数据库)