升级PbootCMS V3.2.11后前台页面显示"执行SQL发生错误!错误:Key 'ay_content_ext_contentid' doesn't exist in table 'e'"的解决办法
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
今天没事儿给我的PbootCMS更新一下版本号,有原来的“PbootCMS V3.0.9-20211013更新为程序版本: 3.2.11-20250416”一切操作完成后,竟然在前台打开错误,错误提示为“执行SQL发生错误!错误:Key 'ay_content_ext_contentid' doesn't exist in table 'e'”如下图所示
更新PbootCMS后前台页面显示"执行SQL发生错误!错误:Key 'ay_content_ext_contentid' doesn't exist in table 'e'"的解决办法
不过看到这玩意儿的时候一脸懵逼,这到底是哪里错误,也没啥头绪,难不成我更新后有啥不对造成的?经过各种查阅摸索,发现是 ay_content_ext 表缺少 ay_content_ext_contentid 索引导致,那就补齐就得了嘛~~
一、针对两种数据库解说“MySQL与SQLite”
1、若使用MySQL,请使用下面的语句执行即可;如下面我操作的教程图;
ALTER TABLE `ay_content_ext` ADD INDEX `ay_content_ext_contentid` (`contentid`);
2、若使用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` '; }
按照以上操作,就可以搞定有升级PbootCMS带来的"执行SQL发生错误!错误:Key 'ay_content_ext_contentid' doesn't exist in table 'e'"错误,其实很多时候,耐心的想办法,还是可以解决很多问题的!
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!
赏
支付宝赞助
微信赞助


免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。
您必须遵守我们的协议,如您下载该资源,行为将被视为对《免责声明》全部内容的认可->联系老梁投诉资源 LaoLiang.Net部分资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。
敬请谅解! 侵权删帖/违法举报/投稿等事务联系邮箱:service@laoliang.net
意在交流学习,欢迎赞赏评论,如有谬误,请联系指正;转载请注明出处: » 升级PbootCMS V3.2.11后前台页面显示"执行SQL发生错误!错误:Key 'ay_content_ext_contentid' doesn't exist in table 'e'"的解决办法