频道栏目
首页 > 资讯 > MYSQL > 正文

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

18-04-18        来源:[db:作者]  
收藏   我要投稿

今天导数据库的时候,抽风,报了这个错,当时找了资料,也没太好用啊,导致这个问题的原因索引的字段都太长了,mysql受不了,解决方法就是,让mysql支持比较长的索引,然后在插入表的时候,添加ROW_FORMAT=DYNAMIC ,自动格式化索引。

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

这里写图片描述

查看数据库信息

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

create table idx_length_test_02
(
  id int auto_increment primary key,
  name varchar(255)
) 
ROW_FORMAT=DYNAMIC default charset utf8mb4;

这里写图片描述

相关TAG标签
上一篇:人工智能如何影响社会经济
下一篇:Linux系统firewall安装配置教程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站