首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-MySQL使用syncdb启用Row_Format=Compress

Django-MySQL使用syncdb启用Row_Format=Compress
EN

Stack Overflow用户
提问于 2012-12-04 16:18:39
回答 1查看 1.5K关注 0票数 2

我在Django和MySQL中有一个应用程序,在我的模型中有几个字段指定为TextField,当我运行syncdb时,为我的模型创建了表,指定的列是用长文本数据类型创建的,到目前为止还不错。

但是,当我尝试时,在表中输入信息,我会得到以下错误

DatabaseError:(1118,‘行大小太大。使用的表类型的最大行大小(不包括BLOB)为8126。您必须将一些列更改为文本或BLOB ")。

我将列类型更改为Text和Blob,但没有解决问题。

我一直在阅读有关此错误的文章,这是由于8126字节以上的逐行收入信息造成的。因此,我更改了MySQL的配置,使其使用Barracuda文件类型,而不是Antepode文件类型,我一直在阅读Antepode,它允许将信息压缩到另一个文件。

但是这并没有解决这个问题,在MySQL文档(https://dev.mysql.com/doc/refman/5.5/en/innodb-compression-usage.html)中告诉我在创建表时必须指定ROW_FORMAT = COMPRESSED,但是这是由syncdb完成的,

在syncdb创建表时是否有方法指定这些设置,或者我必须手动创建表而不使用syncdb?

任何其他建议都将是欢迎的,在我的申请中,我必须存储多张纸和报告。我已经在我的表中定义了一个按文档节列的列。

EN

回答 1

Stack Overflow用户

发布于 2012-12-04 19:34:31

我使用innodb解决了在MySQL中添加大数据行的错误

DatabaseError:(1118,‘行大小太大。使用的表类型的最大行大小(不包括BLOB)为8126。您必须将一些列更改为文本或BLOB ")。

首先,我们必须将文件格式设置为Barracuda,并在MySQL中为每个表全局变量启用一个文件:

设置全局innodb_file_format =梭鱼; 设置全局innodb_file_format_check = ON;设置全局innodb_format_max = Barracuda;设置全局innodb_file_per_table = ON;

我用phpmyadmin查询。

然后,在运行syncdb之后,我们转到大行问题所在的表,转到tab Operations->Table选项,然后将'ROW_FORMAT‘修改为'COMPRESS’。

我希望这能帮上忙

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13707210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档