Mysql 报Row size too large 65535 的原因及解决方法_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 报row size too large 65535 的原因及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1666831.html

(0)
上一篇 2025年2月19日 07:56:59
下一篇 2025年2月19日 07:58:32

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何写一个 web 程序和服务器端的一个 exe 程序进行通信?

    (1)服务器端的一个exe程序向web程序发送数据,web程序要知被通知的时候再将结果呈现在浏览器上的web页面上。(2)从浏览器web页面上按下按钮后,要让服务器端的一个exe知道,有些东西变了ps. web小程序和服务器端的一个exe程…

    编程技术 2025年4月1日
    100
  • LNMP与MySQL优化:如何提高数据库性能

    提升LNMP(Linux, Nginx, MySQL, PHP)架构下MySQL数据库性能的关键策略: 一、硬件升级 内存扩容: MySQL对内存需求量大,增加服务器内存可显著提升性能。SSD升级: 使用固态硬盘(SSD)替代传统机械硬盘(…

    2025年4月1日
    100
  • Linux LAMP如何实现远程访问

    本文将指导您如何在Linux系统上配置LAMP环境并实现远程访问。 以下步骤将确保您的Web服务器安全且可访问。 第一步:安装和配置Apache Web服务器 首先,确保您的Linux系统已安装Apache。使用您的发行版包管理器安装:例如…

    2025年4月1日
    100
  • Linux LAMP中MySQL如何调优

    Linux LAMP架构中,MySQL数据库的性能优化至关重要,直接关系到整个Web应用的效率和稳定性。本文将介绍关键的优化步骤和建议。 一、硬件资源优化 CPU: 选择64位处理器,高主频和高缓存容量能够有效提升并发处理能力。内存: 充足…

    2025年4月1日
    100
  • LNMP服务器搭建:需要哪些硬件资源

    构建高效稳定的LNMP服务器(Linux, Nginx, MySQL/MariaDB, PHP),需要合适的硬件资源作为支撑。以下建议基于行业最佳实践和经验总结: 处理器 (CPU): 建议: 采用多核心服务器级CPU,例如Intel Xe…

    2025年4月1日
    100
  • LNMP环境配置:你需要知道哪些步骤

    LNMP架构是构建高效Web服务器的理想选择,它结合了Linux操作系统、Nginx网页服务器、MySQL/MariaDB数据库和PHP编程语言。以下步骤将指导您完成LNMP环境的搭建: 一、准备工作: 确保您的Linux系统已更新至最新版…

    2025年4月1日
    100
  • LNMP如何更新换代

    LNMP (Linux, Nginx, MySQL, PHP) 技术栈是构建动态网站和应用的常用选择。 本文将指导您如何安全高效地更新您的LNMP环境。 第一步:数据备份与配置文件保存 在开始任何更新操作前,务必备份所有关键数据和配置文件。…

    2025年4月1日
    100
  • LNMP安全设置:怎样做才更安全

    LNMP架构(Linux、Nginx、MySQL、PHP)是构建Web应用的常用技术栈,其安全性至关重要。本文提供一系列安全建议,助您提升LNMP系统的安全性: 及时更新软件: 定期更新Nginx、MySQL、PHP及操作系统至最新版本,修…

    2025年4月1日
    100
  • LNMP备份策略:如何确保数据安全

    LNMP(Linux, Nginx, MySQL, PHP)架构的网站数据安全至关重要。本文提供一套有效的LNMP备份策略,助您有效保护宝贵数据。 核心策略: 定时备份计划: 制定全量备份和增量备份计划,频率根据数据重要性和变化频率而定。全…

    2025年4月1日
    200
  • 如何利用Linux LAMP搭建博客系统

    本文将指导您如何在Ubuntu Linux系统上搭建一个基于LAMP(Linux, Apache, MySQL, PHP)架构的博客系统,以WordPress为例。 一、系统准备:安装Ubuntu操作系统 首先,在您的服务器上安装Ubunt…

    2025年4月1日
    100

发表回复

登录后才能评论