向服务器中导入本地 MySQL 数据库,遇到错误:1071 -Specified key was too long; max key length is 767 bytes。
这个错误的原因是索引长度超过了 MySQL 默认的 767 个字节
如果是创建索引时遇到该问题,那么按照上文中介绍的方法修改字段长度就可以了。
导入的话有两种办法:
方法一:修改 sql 文件,批量将导入语句中的 255 替换成 191 再次导入即可。
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
改成:
`email` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
方法二:遇到这个错误都是 InnoDB 模式(因为 myisam 模式长度限制是 1000 字节),那么可以启用 innodb_large_prefix 选项来突破 767 字节限制。
mysql> set global innodb_large_prefix=1;
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。