mysql Index column size too large 超过767错误解决方案(转)

mysql在执行脚本时,报出了以下错误:

index column size too large. the maximum column size is 767 bytes

原因:

INNODB 引擎,UTF-8,主键字符串 默认最大 767,需要修改

解决方案:

1. 对数据库进行设置

set global innodb_file_format = BARRACUDA

set global innodb_large_prefix = ON

注意: 在navicat中执行成功,不清楚重启数据库是否还有效

查看是否生效

show variables like ‘character%’;
show variables like ‘collation_%’;
show variables like ‘innodb_large_prefix’;
show variables like ‘innodb_file_format’;

2. 对脚本进行修改,添加ROW_FORMAT=DYNAMIC

create table test (……..) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

参考文章:

stackoverflow.com/questions/307618...

转载直接来源:

blog.csdn.net/pansanday/article/de...

本作品采用《CC 协议》,转载必须注明作者和本文链接
lizhiqiang666
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
技术负责人 @ 某某
文章
91
粉丝
209
喜欢
906
收藏
1031
排名:25
访问:24.1 万
私信
所有博文
社区赞助商