向服务器中导入本地 MySQL 数据库,遇到错误:1071 -Specified key was too long; max key length is 767 bytes。
这个错误的原因是索引长度超过了 MySQL 默认的 767 个字节,关于这个问题的原因在:MySQL创建索引报错:”Specified key was too long; max key length is 767 bytes”的原因及解决办法一文中详细介绍了。
如果是创建索引时遇到该问题,那么按照上文中介绍的方法修改字段长度就可以了。
导入的话有两种办法:
方法一:修改 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;
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » MySQL:1071 -Specified key was too long; max key length is 767 bytes
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » MySQL:1071 -Specified key was too long; max key length is 767 bytes