使用ExpressionEngine并收到此错误:发生数据库错误,错误号:1117,列太多

时间:2013-10-31 17:03:31

标签: php mysql sql database expressionengine

我正在ExpressionEngine中构建一个网站,客户希望将EE内容管理系统中的每个图像和文本都作为可编辑字段。好的......几乎完成了。目前在20个频道字段组中有1030个频道字段,包含20个频道。

在尝试添加频道字段#1031并继续添加频道字段时,我收到以下错误:

发生数据库错误 错误号码:1117

列太多

ALTER TABLE `exp_channel_data` ADD `field_id_1036` text NULL

文件名:libraries / api / Api_channel_fields.php

行号:675

我花了两周时间创建这些频道字段,我真的不想回头重新构建所有内容。所以我想知道......。

有没有办法增加列数以允许完成此站点所需的其余频道字段?或者还需要做些什么才能让我添加更多频道字段?

任何建议都将不胜感激。谢谢

1 个答案:

答案 0 :(得分:1)

你正在达到MySQL的限制。您可以更改列类型,以更准确地反映其包含的数据类型,例如存储日期或布尔值的列不需要是占用表中不必要空间的textvarchar。关于每行可以有多少数据,还有limit

  • 每个表(无论存储引擎如何)的最大行大小为65,535字节。存储引擎可能会对此限制设置其他限制,从而减少有效的最大行大小。

可能是时候更好地规范数据了。