Home > Python > mysql “list index out of range” 和1118错误的解决

mysql “list index out of range” 和1118错误的解决

在python django框架中使用了mysql作为数据库,其中因为很多字段内容很多,所以将类型改成了text,可是在写入时发现出现了1118错误

“The maximum row size for the used table type, not counting BLOBs, is 8126.”

这我他妈就很难过了啊,辛辛苦苦搞了这么久,出现了个这种问题,百度了很多,终于找到解决方案。

找到my.ini(windows下)或my.cnf(linux下),添加

[mysqld]

max_allowed_packet=16M

innodb_file_per_table=1

接下来可以用navicat连或者直接命令行操作mysql:

“SET GLOBAL innodb_file_format='Barracuda';”

在接下来,可以将自己原本的数据库的结构导出来,在最后加上ROW_FORMAT=COMPRESSED,记得这句要在最后的分号之前,一般都会有设置编码类型,类似于

NXZLTB46TGN~L%~)J}D_G]B

再然后将自己原来的表删除,重新导入刚才修改的sql文件,再运行的时候就开心咯。

You may alo like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注