ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ...

2023-05-16

在创建数据库表时报错

之前已经在数据库里创建了多张表,但在创建其中一张数据库表时报如下错:

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引擎下创建表时行格式无法存储它,可能有以下原因:

  1. strict mode 模式启用后,DDL 语句被执行时影响了表,如 CREATE TABLE or ALTER TABLE 操作,这时会抛出Error信息。
  2. strict mode 模式被禁用后,DDL 语句被执行时影响了表,如 CREATE TABLE or ALTER TABLE 操作,这时会抛出Warning信息。
  3. 不管strict mode 模式是否启用,DML语句被被执行写入一行时,InnoDB引擎行无法存储它时,会抛出这个Error信息。

我发现是第三种情况,因为网上很多人说是要设置下 strict mode 模式进行解决,我发现解决不了。

根本原因

在InnoDB引擎下,存在最大的row size的限制,它的限制大约是 innodb_page_size 这个系统变量的一半。详情。

但不同的row format其具体值也会不一样,其中 DYNAMICCOMPRESSED 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 可解决
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ... 的相关文章

  • Java,BorderLayout.CENTER,获取JPanel的宽度和高度

    我正在使用 Swing 和 AWT 针对听众 制作一个小程序 我在获取 JPanel 名为 Chess 的类 的大小时遇到 问题 我的布局 public class Main extends JFrame implements MouseL
  • 不同 int 类型的运算

    我有一个使用多种不同 int 类型的程序 最常用的是uint64 t和标准int 但是我想知道我是否可以安全地进行它们之间的混合操作 例如我有一个uint64 t我想添加一个int并将该值存储为另一个值uint64 t 做这样的事情安全吗
  • Node.js:如何限制HTTP请求大小和上传文件大小?

    我正在使用 Node js 和 Express 我想限制 HTTP 请求的大小 比方说 如果有人向我发送超过 2 MB 的 HTTP 请求 那么我会立即停止该请求 我看了代码 我想如果我改变核心 我可以做到 但是 有没有办法设置max re
  • 如何缩小自定义 Skobbler 离线地图应用程序的大小

    我正在将 Skobbler 地图集成到我的 iOS 应用程序中 目前 该应用程序的大小为 160Mb 这太大了 但我注意到已经集成了一堆地图 我想删除所有地图并让用户下载他需要的地图 现在 当我包含 SKMaps framework 时 其
  • 状态栏高度始终返回0

    打电话时MediaQuery of context padding top在父小部件中 ProductsOverviewScreen 返回的值符合预期 24 但是当从嵌套小部件调用相同的属性时 ProductsGrid 我们正在谈论的父级的
  • MYSQL - 从大表中的第二行选择数据

    我有一个外部第3方程序将数据库实时导出到mysql 我想显示数据以进行报告 所以 我无法更改结构 因为它是实时同步的 表结构是这样的 ID Date Transaction 12 2012 11 01 200 12 2012 11 02 2
  • 散点图标记大小与轴值成正比 - 为什么对于方面=“等于”,x 轴和 y 轴的像素数不同?

    据我所知 我的问题与这个帖子 https stackoverflow com questions 16896244 matplotlib scatter plot symbol size based on pixel distance 我需
  • POI:意外的记录类型 org.apache.poi.hssf.record.HyperlinkRecord

    我正在执行一项简单的任务 读取 Excel 文件并将其转换为对象 不过 我在读取 Excel 文件 xls 时遇到问题 我将从外部系统接收它 也许他们自动生成它 如果我打开它并进行简单的保存 无论是否更改 Excel 文件中的任何内容 我的
  • 如何在 C# 中获取文件夹大小? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 C 中获取目录大小 目录中的文件 https stackoverflow com questions 1118568 how do i get a directory size files i
  • facebook画布高度在ie8和firefox中没有设置滚动

    嘿 我想设置一个长页面应用程序 没有FB会限制我的应用程序的高度并附加滚动 我做了 iframes canvas 并在设置中自动调整大小并应用该代码 它限制了我在 ie 中显示滚动并在 firefox 中剪切内容 代码在这里 http pa
  • Android Spinner 尺寸非常大

    我正在尝试获得像我的应用程序中那样的 ICS 旋转器 并玩了几个小时 最后我使用 HoloEverywhere 来获得它 并且它正在工作 但我有一个设计问题 即旋转器没有包装其我在 xml 中设置的内容 默认情况下如下所示 实际上 我在谷歌
  • 我想从互联网路径的 videoview 获取视频大小(以 MB 为单位)

    我试图在开始视频之前获取视频文件大小并将其显示在布局中 我已经尝试了很多东西 但它不起作用 video player view VideoView findViewById R id videoView2 media Controller
  • 如何在AWS批处理中定义根卷大小

    我正在使用 AWS Batch 但发现根卷大小对于我的任务来说太小 我尝试创建一个新的计算环境 作业队列 但没有任何选项来设置卷大小 我尝试更改启动配置here https console aws amazon com ec2 autosc
  • java:如何仅选择jtable中的一个单元格而不是整行

    在 jTable 中 我希望当用户单击单元格时 这句话会打印在屏幕上 I am cell in row X and column Y 其中 x 和 Y 是单击单元格的行和列 但我得到的是 例如 当我单击第 1 行和第 4 列中的单元格时 我
  • 表、TR各2个循环、PHP、HTML

    我有一个 html 表 我使用一些循环来获取一些数据 该数据以这种方式显示 tr td Data td tr next loop 但我不希望它每 2 个甚至 3 个循环关闭表行 tr 所以数据可能如下所示 tr td Data td td
  • Android 已弃用屏幕尺寸?

    嘿 我需要在我的应用程序中获取屏幕的宽度 该应用程序将在 2 1 及更高版本上运行 我已经将其设置为如下所示 该方法已被弃用 我可能应该使用 getSize 或其他方式 但问题是 这是否适用于 3 0 和 4 0 等 Android 版本
  • MySQL - 选择一行 - 然后相对于所选行的下一个和上一个

    我会尽力澄清这一点 我需要在不使用 id 的情况下选择特定行和该选定行的前一个相对行以及该选定行的下一个相对行 这可能吗 简而言之 上一篇和下一篇 我不能 也许我只是不知道如何 使用 id 的原因是因为它们不是按顺序排列的 正如您从这个相当
  • Android并计算给定字体和字体大小的单行字符串的大小?

    是否有一种 API 方法可以计算以给定字体和字体大小显示在一行上的字符串的大小 即宽度和高度 Paint p new Paint p setTypeface TypeFace obj if custom font use TypeFace
  • 具有固定大小的 Java PriorityQueue

    我正在计算算法的大量可能的结果组合 为了对这些组合进行排序 我用双值对它们进行评级并将它们存储在 PriorityQueue 中 目前 该队列中有大约 200k 个项目 这非常占用内存 实际上 我只需要说出列表中所有项目中最好的 1000
  • 如何查找页面上R图形的字节大小?

    我想监控 R 在各个页面上生成的图形的基本质量 例如每个页面的字节大小 我现在只能对平均页面进行质量保证 请参阅下面的章节 我认为这项任务必须有一些比一般措施更内置的东西 生成 4 页的代码Rplots pdf我想知道此处输出中每个页面的字

随机推荐