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

原因:使用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

posted on 2020-03-11 15:50  小friend  阅读(673)  评论(0编辑  收藏  举报