数据库报错 [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 解决