【发布时间】:2012-12-04 16:18:39
【问题描述】:
我在 Django 和 MySQL 中有一个应用程序,在我的模型中,我有几个指定为 TextField 的字段,当我运行 syncdb 时,会创建我的模型的表,并且使用 longtext 数据类型创建指定的列,到目前为止一切都很好。
但是当我尝试在表格中输入信息时,我收到以下错误
DatabaseError: (1118, '行大小太大。最大行大小为 使用的表类型,不包括 BLOB,是 8126。你必须改变 一些列到 TEXT 或 BLOB")
我将列类型改为Text和Blob,并没有解决问题。
我一直在阅读有关此错误的信息,这是由于按行显示的收入信息超过 8126 字节。所以我更改了 MySQL 的配置以使用 Barracuda 而不是 Antepode 文件类型,我一直在阅读它允许将信息压缩到不同的文件。
但这并没有解决问题,在MySQL文档中(https://dev.mysql.com/doc/refman/5.5/en/innodb-compression-usage.html)告诉我创建表时必须指定ROW_FORMAT = COMPRESSED,但这是由syncdb完成的,
有没有办法在syncdb创建表时指定这些设置,或者我必须手动创建表而不使用syncdb?
欢迎提出任何其他建议,在我的应用程序中,我必须存储多个工作表和报告。我在表格中按文档的部分定义了一个列。
【问题讨论】: