MySql 创建表遇见错误Error Code : 1118

我检查了实体代码,发现表中有大约一百多个字段,并且很多string类型的字段没有设置字段大小(默认为255)。因此,我将所有不必要的字段长度设置得更小,修正后重新运行项目,成功创建了表。如果表中字段长度无法修改,可以将大字段类型改为text类型。因为单行最大限制为65535字节,不包括TEXT和BLOB。
MySql 创建表遇见错误Error Code : 1118
在尝试给表添加一个VARCHAR类型字段时,遇到了错误:Error Code : 1118,提示“Row size too large. The maximum row size for the used table type, not counting BLO”。

经过网上查询,发现了MySQL建表时存在长度限制。主要分为两点:

第一,如果单个字段长度超过65535,将会被自动转换为TEXT类型。

第二,单行最大长度限制为65535字节,但不包括TEXT和BLOB类型。

这里的单行最大限制指的是表中所有字段所设长度总和不能超过65535字节。以一个表有三个varchar字段,每个字段设置长度30000为例,表的单行长度为30000*3=90000,超过65535字节就会报错。

为了解决这个问题,我检查了实体代码,发现表中有大约一百多个字段,并且很多string类型的字段没有设置字段大小(默认为255)。因此,我将所有不必要的字段长度设置得更小,修正后重新运行项目,成功创建了表。

如果表中字段长度无法修改,可以将大字段类型改为text类型。因为单行最大限制为65535字节,不包括TEXT和BLOB。2024-11-04
mengvlog 阅读 8 次 更新于 2025-07-20 22:00:04 我来答关注问题0
檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部