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
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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