SQL错误#1071 - 指定的密钥太长;最大密钥长度为767字节

时间:2016-11-17 16:40:41

标签: mysql

if(valid) {
    System.out.println("Password Accepted");
}

我收到了sql错误'#1071 - 指定的密钥太长了;最大密钥长度为767字节'

我做错了什么?

2 个答案:

答案 0 :(得分:5)

MySQL始终保留UTF8字段的最大金额,该字段为4字节,255 + 255表示DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;你超过767最大密钥长度限制。

您只能减少单个varchar长度或不使用复合键。

答案 1 :(得分:2)

我有同样的问题。我已将这些行添加到/etc/my.conf.d目录中名为umb4-support.cnf

的新conifg文件中
[mysqld]
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=true

重新启动maria db服务后,我的导入脚本运行无此问题。 上帝啊!