mysql导入sql文件“Index column size too large. The maximum column size is 767 bytes.”

发布时间 2023-08-24 14:29:52作者: 花田007

问题分析

由于 MySQL 的 InnoDB 引擎表索引字段长度的限制为 767 字节,因此对于多字节字符集的大字段或者多字段组合,创建索引时会出现该问题。

说明 注:以 utf8mb4 字符集字符串类型字段为例。utf8mb4 是 4 字节字符集,默认支持的索引字段最大长度是 191 字符(767 字节 / 4 字节每字符 ≈ 191 字符),因此在varchar(255)或char(255)类型字段上创建索引会失败。
解决办法:

set global innodb_large_prefix = 1;
​
set global innodb_file_per_table = 1;
​
set global innodb_file_format = Barracuda;

然后导入发现成功了,刷新表发现什么也没有,恭喜你又犯了第二个错误。

use 'jeecg-boot'指的是用户名,你的用户名不是‘jeecg-boot’也就无法插入,但是这里不会报错就很坑。

删掉此行再次执行,成功了。