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

2022-10-09,,,,

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

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

下载本文的Word格式文档,以方便收藏与打印。