php - 使用 ExpressionEngine 并收到此错误 : A Database Error Occurred, 错误号 : 1117, 列太多

标签 php mysql sql database expressionengine

我正在 ExpressionEngine 中构建一个网站,客户希望将每个图像和文本作为可编辑字段内置到 EE 的内容管理系统中。好吧……快完成了。目前有 1030 个 channel 字段,跨 20 个 channel 字段组,包含 20 个 channel 。

在尝试添加 channel 字段 #1031 并继续添加 channel 字段时,出现以下错误:

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

列太多

ALTER TABLE `exp_channel_data` ADD `field_id_1036` text NULL

文件名:libraries/api/Api_channel_fields.php

行号:675

过去两周我一直在创建这些 channel 字段,我真的不想回去重新构建所有内容。所以我想知道......

有没有办法增加列数,以容纳完成此网站所需的其余 channel 字段?或者需要做什么才能添加更多 channel 字段?

如有任何建议,我们将不胜感激。谢谢您

最佳答案

您已达到 MySQL 限制。您可以更改列类型以更准确地反射(reflect)它们包含的数据类型,例如存储日期或 bool 值的列不需要是占用表中不必要空间的 textvarchar。还有limit每行可以有多少数据。

  • 每个表(无论存储引擎如何)的最大行大小为 65,535 字节。存储引擎可能会对此限制施加额外的约束,从而减少有效的最大行大小。

也许是时候更好地标准化数据了。

关于php - 使用 ExpressionEngine 并收到此错误 : A Database Error Occurred, 错误号 : 1117, 列太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19712587/

相关文章:

包含所有组的 Mysql 字符串

sql - 使用单个 SQL 语句插入多个表,保留自动编号

PHP MySQLi 准备好的语句不起作用

php - 选择指定id的条目,以及前后具有相同外键值的条目

javascript - AJAX:仅触发错误回调

php - 根据html形式连接特定的MySQL数据库

php - 月度合计月份返回NULL,只输出运行合计

php - 将整数 ID 转换为具有随机字符的字符串,反之亦然

php - 想要在查询中显示数据库中包含多个引号的图像

mysql - 如何增加mysql表的注释长度?