MySQL报错信息:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535

向MySQL的表插件一个字段 类型为text时,或修改一个字段类型为text时,报出上面的错误。其实我对这个错误的原因理解也不是很深,给出一些我查到的解释吧

大意是数据表中有一个设定长度为64K的字段索引,当表中字段(不知道是字段名字还是什么)不能超过这个长度,65,535所说明的是针对的是整个表的非大字段类型的字段的bytes总合。(网上查到的)

我自己的理解(也不是很清楚了,大家指出来吧):

我的理解跟上查到最后一句话的意思差不多,就是非大字段类型的字段的bytes总和大于64K了,这个字段的bytes总和是什么呢?我还是当他理解成字段的名字长总的总和吧。非大字段是指那些字段呢,我觉得是varchar字段类型的字段,他们的名字总和大于64K,超出MySQL的检索大小存储空间时就会报错。

varchar我来简单说下吧,在旧版5版本前varchar 最大存储字符数是255 (说法不算科学有兴趣的自己查),在5版后 varchar就是可变长度 ,就是按实际存储数据的多少去划分占用的存储空间,比如varchar类型内的数据有50个那么它占用的存储空间可能就是51个  有1个是占位符用于记录存了多少个字符。(也许不是字段名字占了64k,而是这个字段内记录占位长度的太多了,超过了64k这个值)就是说,你自己看看是不是你数据表里用varchar的字段类型用得太多了。

确实是varchar用得太多了,怎么办呢,其实上面报错的语句就有说明,可以将属性转为text 或 blobs 。行不行你们自己试下吧。

为什么我的数据表上有那么多varchar呢,因为他是实际长度的感觉可以省点存储空间,如给varchar(300)但我实际在这个字段存了10个字,那其实也只是占用了11个字符存储空间,最大到300个字符。

我的解决方法:

将表中varchar(N) 中N设定小于255的属性的字段,修改属性为tinytext 。tinytext 在存储时总是占用255个字符。是固定的占着,最大能保存的字符也只有255个。所以如果varchar(N) 这个N值特别少就可以用tinytext进行代替。char这个大家自己考虑下能不能用吧。

mysql可变65535_MySQL 报Row size too large 65535 原因与解决方法相关推荐

  1. mysql 报Row size too large 65535 原因与解决方法

    在MySQL建表时,遇到一个奇怪的现象: root@localhost : test 10:30:54>CREATE TABLE tb_test (-> recordid varchar( ...

  2. 解决MySQL新建表时Row size too large (> 8126). Changing some columns to TEXT or BLOB may help.

    项目场景: MySQL新建表,表中有253个字段,全部设为text 问题描述: SQL: CREATE TABLE IFNOT EXISTS `featurelayer` (`zip_code` TE ...

  3. Mysql 出现Error 1118 Row size too large. The maximum row size is 65535 的解决办法

    (仅作记录,下面的解决步骤我试了一下还是会报同样的错误,问题没有解决,只好把varchar类型的大小挨个的改小了一点.若是哪位大神调好了,还请指点一二.) 解决步骤 1.     在MySQL的配置文 ...

  4. MySQL ALTER TABLE报错Duplicate entry 'xxx' for key 'PRIMARY'解决方法

    在MySQL中执行加字段等操作时可能会报Duplicate entry 'xxx' for key 'PRIMARY'的错,例如: mysql> alter table test add aa ...

  5. npm安装报no such file or directory原因和解决方法

    公司用的是内网,所以 npm 下载也是通过公司的某个服务做代理实现安装的. 安装依赖的时候,总会有段时间,安装依赖出问题. 如图: 前几天还能正常安装,今天突然就报 no such file or d ...

  6. mysql整形溢出报错_MySQL整型数据溢出的解决方法

    今天接到一个朋友电话说是觉的数据库被别人更改了,出现数据不对的问题 .经过很久的排查是数据类型溢出了(发生问题的版本是MySQL 5.1).后来通过给朋友那边把MySQL 5.1升级到MySQL 5. ...

  7. Jquery.ajax报parseerror Invalid JSON错误的原因和解决方法:不能解析

    默认: 自动判断 (xml 或 html)) 请求失败时调用时间.参数有以下三个:XMLHttpRequest 对象.错误信息.(可选)捕获的错误对象.如果发生了错误,错误信息(第二个参数)除了得到 ...

  8. mysql 死锁原因_Mysql并发时经典常见的死锁原因及解决方法

    1.mysql都有什么锁 MySQL有三种锁的级别:页级.表级.行级. 表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低. 行级锁:开销大,加锁慢:会出现死锁:锁定粒 ...

  9. mysql只能导出65535条,Mysql报Rowsizetoolarge65535的原因及解决方法

    报错信息:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535 ...

最新文章

  1. SharpDevelop源码分析笔记(一)
  2. Newlife.Cube登录登出
  3. 互联网API开放平台安全设计-基于OAuth2.0协议方式
  4. vb 如何给静态变量赋初值
  5. Mysql 给你100万条数据的一张表,你将如何分页查询优化?
  6. U盘文件系统无法识别,数据怎么恢复?
  7. (十六)企业部分之lvs
  8. cdrx8如何批量导出jpg_cdr怎么保存jpg格式
  9. 一卡通系统软件测试,智能一卡通管理系统检测流程
  10. 【手写源码-设计模式17】-迭代器模式-基于客户与商品数据遍历
  11. Module not found: Error: [CaseSensitivePathsPlugin]
  12. C语言编译过程流程图
  13. 三国志战略版赤壁之战如何开荒?
  14. 基于single-spa+vue的前端微服务项目实践
  15. threejs(webgl)-shader入门教程(1)
  16. unisoc常用命令集
  17. i3 1215U 和 i5 1235U选哪个好
  18. HIT CSAPP大作业论文
  19. ERP中的合并会计报表---王纹 孙健
  20. MySQLi (一)

热门文章

  1. Error:(7, 21) java: 程序包javax.servlet不存在,Maven项目请求资源不可用
  2. Python 获取视频fps工具(附代码) | Python工具
  3. Cloudra公司CCP:DS——认证数据专家
  4. 软件包后缀 noarch
  5. PumpLinx离心泵水利仿真优化设计视频教程
  6. Angular ngx-cookie-service 对于 cookie的 删除等操作不生效
  7. 2.ffmpeg安装(Ubuntu20.04 )
  8. 成都百知教育:Shopee虾皮 | 从开店到运营全流程
  9. 新中大SE(ngpower)月结
  10. 苹果手机上网很慢_@家长:手机学习防沉迷!翼课网“上网管控”苹果amp;安卓系统使用说明...