peewee.InternalError: (1071, 'Specified key was too long; max key length is 1000 bytes')

python学习网 2020-03-12 06:10:02

原因:使用peewee创建表时,有类似于这样的语句: field_name = CharField(primary_key=True)(也就是把char类型的字段设置成了主键。)

解释:utf8mb4 编码下 1 char = 4 bytes。而varchar默认长度为255(255*4 = 1020),超过报错显示的最大长度 1000 bytes。

解决:设置CharField的最大长度参数:max_length=num(num <= 250)

参考Python peewee.CharField() Examples

阅读(2318) 评论(0)