部分用户在更新PbootCMS后,访问前台页面显示执行SQL发生错误!错误: Key 'ay_content_ext_contentid' doesn't exist in table 'e' 的问题,如下图所示,经HTMLBK博主排查后,发现是 ay_content_ext 表缺少 ay_content_ext_contentid 索引导致,于是得出以下解决方案
方案一:到数据库中手动添加索引
如果使用MySQL,则用:
ALTER TABLE `ay_content_ext` ADD INDEX `ay_content_ext_contentid` (`contentid`);
如果使用SQLite,则用:
CREATE INDEX `ay_content_ext_contentid` ON `ay_content_ext` (`contentid`);
方案二:傻瓜式直接修改文件
找到文件 /apps/home/model/ParserModel.php ,搜索 if (get_db_type() == 'mysql') { ,大概365行~373行,即注释或删除以下代码块,即可用最简单粗暴又无脑的方法解决~
if (get_db_type() == 'mysql') { $contentSortIndex = 'FORCE INDEX ( `ay_content_sort_scode` ) '; $modelIndex = 'FORCE INDEX ( `ay_model_mcode` )'; $contentExtIndex = 'FORCE INDEX ( `ay_content_ext_contentid` )'; }else if(get_db_type() == 'sqlite') { $contentSortIndex = 'INDEXED BY `ay_content_sort_scode` '; $modelIndex = 'INDEXED BY `ay_model_mcode` '; $contentExtIndex = 'INDEXED BY `ay_content_ext_contentid` '; }
但凡有丁点基础的,HTMLBK博主都建议选择方案一,纯小白就直接方案二吧!
至此,不出意外的话问题解决~

本站部分文章搜集整理于互联网或者网友提供,如有侵权请联系站长
如若转载,请注明出处:https://www.htmlbk.com/pbootcms/2539.html
温馨提示:该文档最后一次修改时间为2025-06-03 11:34:54,请注意相关的内容是否还可用!