Mysql_大字段问题Row size too large.....not counting BLOBs, is 8126.
Posted 心脏咚个不停
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql_大字段问题Row size too large.....not counting BLOBs, is 8126.相关的知识,希望对你有一定的参考价值。
【问题描述】
1.从myslq(5.7.19-0ubuntu0.16.04.1)中导出sql脚本,导入到mysql(5.5.27)中,报如下错误:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
2.程序向mysql(5.5.27)中存入数据报错如下:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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.
【导致问题的原因】
【解决思路】
解决方式是使用innodb的Barracuda(梭鱼)存储格式。这种格式对blob字段的处理方式是在page里面只存储一个20byte大小的指针,其他完全存在溢出区,所以轻易不会超过8K.
【详细步骤】
【声明】
以上是关于Mysql_大字段问题Row size too large.....not counting BLOBs, is 8126.的主要内容,如果未能解决你的问题,请参考以下文章
mysql 报Row size too large 65535 原因与解决方法
莫名奇妙的异常009:mysql row size too large>8126
莫名奇妙的异常009:mysql row size too large>8126
mysql触发器应用和创建表错误代码: 1118 Row size too large. 解决
MySQL - Row size too large (> 8126). Changing some columns to TEXT or BLOB
MySQL - Row size too large (> 8126). Changing some columns to TEXT or BLOB