博客
逻辑学
医学健康
教书育人
科技发展
社会民生
关于我
×

在PbootCMS添加模型字段出现错误:Too many keys specified; max 64 keys allowed

原创
徐伟轩

徐伟轩

思想探索者,自媒体创作者。专注于逻辑学、历史学、医学健康等领域,致力于传播理性思考与智慧生活理念。

106
文章
94
评论
逻辑思维 历史研究 健康生活 哲学思考
我们知道PbootCMS是个非常好的免费可商用的一个基于PHP和MySQL开发的CMS系统。那么为了满足开发需求,需要对模型进行字段的管理,比如产品价格、参数等内容,假设我需要加500条数据呢?可能PbootCMS会出现报错了!

【问题所在】

PbootCMS在添加扩展字段时会自动为字段创建索引,当字段数量超过一定限制时就会触发MySQL的64键限制。
这个逻辑有问题:判断条件是 != 'TEXT' 或 != 'datetime',实际上几乎所有类型都会创建索引(包括varchar类型)。

【解决方案】

找到/apps/admin/controller/content目录下的ExtFieldController.php文件
在大约117行 // 字段不存在时创建,其中的添加索引部分,可以去掉。
// 只保留添加字段,不创建索引
$result = $this->model->amd("ALTER TABLE ay_content_ext ADD $name $mysql NULL COMMENT '$description'");
具体解决方案及代码修改
具体解决方案及代码修改

就这么简单的一套操作下来,你的网站管理后台可以不受到限制,还能再增加模型字段的扩展字段数据。


好了,本次分享仅作记录,也帮助后来者如果遇到相似问题提供一个解决思路。

评论

共1条评论
Vind
2025-12-23 14:33:28
你好,我在你的网站上找不到RSS链接,试着发邮件被退信了。 想咨询一下你的RSS/feed地址是什么?我打算添加到我的聚合朋友圈中。
徐伟轩
徐伟轩(博主)
哈,抱歉,我没有去做这个。

安全提示

您将要访问:

我们无法验证此外链的网页内容是否合规,我们亦不对此网页进行任何内容负责,请注意甄别安全性!

发表评论

Cookie 使用提示

我们使用Cookie来改善您的浏览体验、分析网站流量并个性化内容。继续使用本网站即表示您同意我们使用Cookie。