mysql 5.7 1071错误经过查询才知道,是Mysql的字段设置的太长了,
解决方法
方案1改字段长度
① innodb存储引擎,多列索引的长度限制如下:
每个列的长度不能大于767 bytes;所有组成索引列的长度和不能大于3072 bytes
② myisam存储引擎,多列索引长度限制如下:
每个列的长度不能大于1000 bytes,所有组成索引列的长度和不能大于1000 bytes
方案2
my.cnf配置:
default-storage-engine=INNODB
innodb_large_prefix=on
重新创建数据库
需要看下如下数据是不是正确
1. 启用系统变量innodb_large_prefix
注意:光有这个系统变量开启是不够的。必须满足下面几个条件:
1: 系统变量innodb_large_prefix为ON
2: 系统变量innodb_file_format为Barracuda
3: ROW_FORMAT为DYNAMIC或COMPRESSED
用到一些sql 参考如下
show variables like '%innodb_large_prefix%';
show variables like '%innodb_file_format%';
切记:一定都转换成了INNODB表
参考如下链接
1.https://blog.csdn.net/songmaolin_csdn/article/details/72621357?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control
2.https://blog.csdn.net/sinat_31089473/article/details/107440099?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control
3.https://blog.csdn.net/qq_33210743/article/details/88739465?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
4.https://cloud.tencent.com/developer/article/1005696