数据库报错 [ERR] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_F

Posted 兔子博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库报错 [ERR] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_F相关的知识,希望对你有一定的参考价值。

就是说,远程的数据库量太大了,我本地的数据库配置不对,装不下了。

(1)从网上看的要改引擎:

mysql的配置文件下,找到my.ini文件,然后需要修改

default-storage-engine=InnoDB/MyISAM

先sql查询:

show engines

我的引擎默认是InnoDB,切换到MyISAM,然后重启mysql

查询:show engines,此时已经切换成功!

尝试运行

(2)执行以下SQL语句,查看严格模式是否开启

show variables like '%innodb_strict_mode%';


执行后如果为ON,则需要关闭

set innodb_strict_mode=OFF

然后找到mysql的配置文件的my.ini文件,添加下面的语句,并保存

[mysqld]

innodb_strict_mode=0

如果保存不了需要管理员权限的话,右键:以管理员身份运行,如果没有的话,就copy一份,把原来的删掉就行了。

我是第二种方法搞定的!

报错pymysql.err.DataError: (1406, "Data too long for column 'gender' at row 1")(示例代码

Django默认的admin后台创建超级用户时,

  报错pymysql.err.DataError: (1406, "Data too long for column \'gender\' at row 1")的解决方法。

创建过程为:

  点击tool菜单的run manage.py task,输入createsuperuser,运行,按提示输入用户名,邮件,密码,以及密码确认。

解决方法为:

  在pycharm中按快捷键ctr+h,查找到gender的相应字段,如图:

  

我们可以看到设置的gender字符长度为5,可是female有6个字节,所以修改max_length=10

然后运行:

makemigrations users

再运行:

migrate users

这两句命令有问题的话可以看下这里

 

然后我们重新走一遍上面的创建过程就OK了。

 

以上是关于数据库报错 [ERR] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_F的主要内容,如果未能解决你的问题,请参考以下文章

MySQL# [Err] 1118-Row size too large (> 8126)Lost connection to MySQL server at ‘reading initial’

MySQL ERROR1118报错详解 Row size too large

MySQL ERROR1118报错详解 Row size too large

mysql插入数据 报错[Err] 1136 - Column count doesn't match value count at row 1(表中有自增列)

报错pymysql.err.DataError: (1406, "Data too long for column 'gender' at row 1")(示例代码

Row size too large. The maximum row size for the used table type 解决