首页 > 数据库 > mysql教程 > 如何解决 MySQL 错误代码 1118:行大小太大?

如何解决 MySQL 错误代码 1118:行大小太大?

Mary-Kate Olsen
发布: 2025-01-05 01:09:08
原创
682 人浏览过

How to Resolve MySQL Error Code 1118: Row Size Too Large?

解决 MySQL 中的错误代码 1118:行大小超出限制

MySQL 中遇到错误代码 1118 表示行的大小超出了限制允许的限制为 8126 字节。创建包含大量列的扩展表时通常会出现此问题。

要解决此错误,请考虑实施以下解决方案:

优化列类型:

在您的架构中,您已将某些列声明为 CHAR(1),这意味着字符限制仅为一个字符。用 TEXT 或 BLOB 列替换这些列将显着增加其容量。此外,避免使用长列。

启用 Barracuda 文件格式:

MySQL 的 Barracuda 文件格式增强了性能并允许更大的行大小。要激活它,请将以下属性添加到 MySQL 配置文件 (my.ini):

innodb_file_per_table=1
innodb_file_format=Barracuda
innodb_file_format_check = ON
登录后复制

调整 innodb_strict_mode:

如果前面的措施没有成功,尝试将 innodb_strict_mode 参数修改为 0。此设置放宽了行大小检查,允许插入记录,即使其大小超出指定limit:

innodb_strict_mode             = 0
登录后复制

正如您在查询中提到的,请注意,由于遗留限制,您无法修改表的结构。因此,探索上述解决方案并确定最适合您的特定应用的方法。

以上是如何解决 MySQL 错误代码 1118:行大小太大?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板