文章内容

2021/3/10 10:19:42,作 者: 黄兵

Specified key was too long; max key length is 1000 bytes

由于表的字段设置的太短,存储数据的时候出现了如下错误:

sqlalchemy.exc.DataError: (MySQLdb._exceptions.DataError) (1406, "Data too long for column 'Content' at row 1")

这个字段设置了索引,在修改这个字段长度的时候,出现了如下错误:

Specified key was too long; max key length is 1000 bytes

出现问题的原因:

无论如何您都不应该为这么长的VARCHAR列建立索引,因为索引将非常庞大且效率低下。

最佳实践是使用前缀索引,因此您仅索引数据的左子字符串。无论如何,您的大多数数据都将少于255个字符。

解决方案:

删除此字段上的索引,之后修改字段长度。


参考资料:

1、#1071 - Specified key was too long; max key length is 1000 bytes


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Specified key was too long; max key length is 1000 bytes

分享到:

发表评论

评论列表