peewee.DataError:字符串或blob太大,如何增加peewee中的`DSQLITE_MAX_VARIABLE_NUMBER`?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了peewee.DataError:字符串或blob太大,如何增加peewee中的`DSQLITE_MAX_VARIABLE_NUMBER`?相关的知识,希望对你有一定的参考价值。

我想使用peewee ORM在SQLite DB中存储1.5 GB的二进制数据。我得到peewee.DataError: string or blob too big。我可以以某种方式改变peewee的限制吗?

如何增加peewee中的DSQLITE_MAX_VARIABLE_NUMBER

答案

至于你的问题,“如何在peewee中增加DSQLITE_MAX_VARIABLE_NUMBER?” - 这是一个编译时选项,因此您需要重新编译SQLite并指定一个新值。但是,我不认为这是您的问题的正确编译时选项。

我想建议这是一个荒谬的大“二进制blob”存储在SQLite中。您可能会碰到blob /字符串的SQLite最大长度:https://www.sqlite.org/limits.html#max_length - 要改变这一点,您需要重新编译SQLite,指定新的所需最大值。

对于非常大的blob,你也可以考虑使用Peewee支持的类似SQLite blob文件的API(虽然它们的使用是一个相当小的主题,你需要阅读SQLite文档以便很好地理解它是如何的作品):http://docs.peewee-orm.com/en/latest/peewee/sqlite_ext.html#sqlite-blob

最后,将BLOB留在文件系统(擅长存储大文件)并仅从数据库中引用文件名会出现什么问题?

以上是关于peewee.DataError:字符串或blob太大,如何增加peewee中的`DSQLITE_MAX_VARIABLE_NUMBER`?的主要内容,如果未能解决你的问题,请参考以下文章

当用于 Blob 存储的 Azure REST API 使用具有前缀或标记的查询字符串时获取 403

Mysql使用CHAR或BLOB来存储具有已知字节大小限制的UTF-8字符串

mysql数据库中text类型不设置大小默认大小事多少

Mysql TEXT类型长度

从 DB2 和 Oracle 角度看 CLOB 和 BLOB 的区别?

MySQL有四种BLOB类型