解决 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中文网其他相关文章!