码迷,mamicode.com
首页 > 数据库 > 详细

Mysql Specified key was too long; max key length is 767 bytes

时间:2019-05-29 11:54:07      阅读:1472      评论:0      收藏:0      [点我收藏+]

标签:load   http   bar   bsp   格式   oba   link   number   prefix   

导致这个问题的原因索引的字段都太长了,mysql受不了,解决方法就是,让mysql支持比较长的索引,然后在插入表的时候,添加ROW_FORMAT=DYNAMIC ,自动格式化索引。

ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

技术图片

查看数据库信息

1
2
3
4
5
6
7
8
show variables like ‘innodb_large_prefix‘
show variables like ‘innodb_file_format‘;
 
--修改最大索引长度限制
set global innodb_large_prefix=1;
set global innodb_file_format=BARRACUDA;
-- 添加
set global innodb_file_format_max=BARRACUDA;

技术图片

技术图片

2、修改插入sql的语句添加ROW_FORMAT=DYNAMIC

1
2
3
4
5
6
create table idx_length_test_02
(
  id int auto_increment primary key,
  name varchar(255)
)
ROW_FORMAT=DYNAMIC default charset utf8mb4;

技术图片

Mysql Specified key was too long; max key length is 767 bytes

标签:load   http   bar   bsp   格式   oba   link   number   prefix   

原文地址:https://www.cnblogs.com/wang-yaz/p/10942869.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!