ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ...
在创建数据库表时报错
之前已经在数据库里创建了多张表,但在创建其中一张数据库表时报如下错:
ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
Query OK, 0 rows affected (0.00 sec)
原因分析
这篇文章说得比较清楚: 链接。
简单来说,就是在InnoDB引擎下创建表时行格式无法存储它,可能有以下原因:
- 在 strict mode 模式启用后,DDL 语句被执行时影响了表,如 CREATE TABLE or ALTER TABLE 操作,这时会抛出Error信息。
- 在 strict mode 模式被禁用后,DDL 语句被执行时影响了表,如 CREATE TABLE or ALTER TABLE 操作,这时会抛出Warning信息。
- 不管strict mode 模式是否启用,DML语句被被执行写入一行时,InnoDB引擎行无法存储它时,会抛出这个Error信息。
我发现是第三种情况,因为网上很多人说是要设置下 strict mode 模式进行解决,我发现解决不了。
根本原因
在InnoDB引擎下,存在最大的row size的限制,它的限制大约是 innodb_page_size 这个系统变量的一半。详情。
但不同的row format其具体值也会不一样,其中 DYNAMIC 和COMPRESSED row size是最大的。在做row format时,有以下几种模式:
- REDUNDANT (MySQL 4.1 之前默认采用的方式)
- COMPACT (MariaDB [10.1~10.2.1] 和 MySQL 5.6 之前默认采用的方式)
- DYNAMIC (MariaDB >= 10.2.2 默认采用的方式)
- COMPRESSED
四种不同的格式详情可参考:
https://mariadb.com/kb/en/innodb-row-formats-overview
解决方法
将表的row format改成 DYNAMIC 或者 COMPRESSED 可解决
ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ...相关推荐
- 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMI
ERROR 1118 (42000) at line 5: Row size too large (> 8126). Changing some columns to TEXT or BLOB ...
- MySQL导入数据库1118错误解决方案[ERR] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB
导入SQL文件时报错(在执行创建表或者增加字段时,发现row size长度过长,会导致出现以下错误) [ERR] 1118 - Row size too large (> 8126). Chan ...
- Mysql导入数据库报 [ERR] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB
今天将服务器上的数据库导出,在本机恢复的时候报错,错误代码如下: [ERR] 1118 - Row size too large (> 8126). Changing some columns ...
- Row size too large (> 8126). Changing some columns to TEXT or BLOB… | Mysql / MariaDB
Row size too large (> 8126). Changing some columns to TEXT or BLOB- | Mysql / MariaDB 我们最近将客户网站迁移 ...
- MySQL - Row size too large (> 8126). Changing some columns to TEXT or BLOB
报错信息 Row size too large (> 8126). Changing some columns to TEXT or BLOB 分析原因 因为 mysql 默认的 page 最大 ...
- Mysql数据库报错:Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DY
1.问题描述: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DY ...
- 解决办法之Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC
报错:Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC ...
- Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC
今天在对MySQL数据库进行数据处理时,遇到一个错误: Row size too large (> 8126). Changing some columns to TEXT or BLOB or ...
- MySQL5.7(Linux)创建表报错:“Row size too large (> 8126). Changing some columns to TEXT or BLOB may help.”
今天在创建表的时候报错:" Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. I ...
最新文章
- hello word 程序 ——简单的spring ioc 学习
- [leetcode]Edit Distance
- 【poj3709】 K-Anonymous Sequence
- 开启进度比的文本为什么没有显示_没有开通智钻,为什么会显示流量是在智钻进店的呢?...
- WinForm 处理未处理的异常 Application.ThreadException + AppDomain.CurrentDomain.UnhandledException
- 曾在美国生产的苹果电脑,如今却败得一塌糊涂
- Codeforces Round #565 (Div. 3) B
- adb命令启动activity、service,发送broadcast
- H5编辑器核心算法和思想-遁地龙卷风
- python判断空行_python判断空行
- linux分析mirna,利用DIANA Tools进行miRNA分析
- STM32:Modbus-RTU通讯协议——CRC校验
- 使用vue-print-nb打印element table时表格打印不全的问题
- ping百度的时候出现ping www.a.shifen.com
- 如何防止表单重复提交问题
- 信息无障碍产品研究举例
- 出来找工作,去创业公司好吗?
- 用计算机弹123我爱你数字,数字谐音
- html中伪类定义,伪类
- 5s换脸吴彦祖!爆红AI应用ZAO仍面临技术困境,你的“脸”被授权了吗?
热门文章
- 好以前写的一个java采集淘宝搜索页面商品数据的函数
- Cpp环境【POJ3069】【Vijos2995】 萨鲁曼的大军 Saruman's Army
- 大疆精灵4RTK的运用
- 小红帽中用eclipse编译windows程序遇到的问题处理备忘录
- 招聘牛人的五步骤蔡文贤_招聘技术人才的5个步骤
- Python快速查找每个站的最近的10个站
- kali linux忘记用户名,kali_linux忘记root密码怎么办?
- 华为信息流推广怎么收费的 华为推广需要多少钱
- uniapp 微信小程序如何解决发版后,旧版本缓存问题
- rust申请解封_参考 - Rust的确切自动解除引用规则是什么?