-2

我已达到对表的行大小设置的限制,因此我无法向表中添加更多列。

我收到以下错误:

.#1118 - 行大小太大。所用表类型的最大行大小(不包括 BLOB)为 65535。您必须将某些列更改为 TEXT 或 BLOB

我在MySQL 网站上研究过这个问题,但仍然不确定如何解决这个问题。

有谁知道我该如何解决这个问题,以及我需要运行什么设置或脚本来修改设置,以便我可以向表中添加更多列?

4

1 回答 1

3

为什么您的行大小一开始是 64k?那是你的问题。不是设置太低。

从:

http://dev.mysql.com/doc/refman/5.0/en/column-count-limit.html

每个表都有一个包含表定义的 .frm 文件。服务器使用以下表达式检查存储在文件中的某些表信息是否符合 64KB 的上限:

> if (info_length+(ulong) create_fields.elements*FCOMP+288+
>     n_length+int_length+com_length > 65535L || int_count > 255)

因此,您不太可能轻松更改某些内容(修改源代码和运行自定义 MySQL。给我们您的架构,我们可能会提供更好的建议,但简短的回答似乎是您的列太多,或者需要将一些 VARCHAR 等更改为文本/blob。

如果没有看到(可能令人厌恶的)模式,很难提出建议。

于 2013-03-10T00:11:24.860 回答