前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >MySQL:1071 -Specified key was too long; max key length is 767 bytes

MySQL:1071 -Specified key was too long; max key length is 767 bytes

原创
作者头像
Power
发布2025-03-05 11:08:45
发布2025-03-05 11:08:45
4400
代码可运行
举报
运行总次数:0
代码可运行

向服务器中导入本地 MySQL 数据库,遇到错误:1071 -Specified key was too long; max key length is 767 bytes。

这个错误的原因是索引长度超过了 MySQL 默认的 767 个字节

如果是创建索引时遇到该问题,那么按照上文中介绍的方法修改字段长度就可以了。

导入的话有两种办法:

方法一:修改 sql 文件,批量将导入语句中的 255 替换成 191 再次导入即可。

代码语言:javascript
代码运行次数:0
复制
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,

改成:

代码语言:javascript
代码运行次数:0
复制
`email` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,

方法二:遇到这个错误都是 InnoDB 模式(因为 myisam 模式长度限制是 1000 字节),那么可以启用 innodb_large_prefix 选项来突破 767 字节限制。

代码语言:javascript
代码运行次数:0
复制
mysql> set global innodb_large_prefix=1;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档