帝国CMS提示Table '***.表前缀_ecms_news_data_' doesn't exist错误怎么办?

作者:Davidszhou   来源:SEO优化博客   时间:2017-05-20 10:12:42   点击:

帝国CMS后台在刷新生成内容信息的时候,偶尔会出现: '***.ksiso_ecms_news_data_' doesn't exist的报错,刷新中断,遇到这种情况我们应该如何处理解决?

其实在提示 '***.ksiso_ecms_news_data_' doesn't exist错误的时候,在这条语句的下方还会有一条数据被遮盖起来了,错误语句为:select keyid,dokey,newstempid,closepl,infotags,writer,befrom,newstext from ***_ecms_news_data_ where id='84451' limit 1(我的是有这条错误提示)。

翻阅帝国CMS手册得知:

***_ecms_news_index 数据表字段解释(新闻系统模型-索引表) 的数据索引与实际的内容表的索引出现错误,不匹配。通俗来解释(个人见解不对勿喷):帝国CMS在刷新的时候会过一遍***_ecms_news_index索引表,通过索引表来一条条的更新生成对应的HTML静态页面,当索引表内有索引数据而内容表却没有该ID数据时,就会提示以上错误。

OK!了解了出现原因就很好解决了,我们只需要删掉索引表内在内容表不存在的数据ID数据即可顺利的刷新生成下去。

延伸:

测试***_ecms_news_index 索引表是否出现多余数据MYSQL语句:

select id from  自己的表前缀_ecms_news_index where id not in (select id from 自己的表前缀_ecms_news_data_1)

运行结果为多余数据ID,你可以手动删掉这些不存在的数据,也可以运行下面解决办法内的MYSQL语句一次删除

解决办法:

进入服务器查看MYSQL的管理后台,运行MYSQL语句,帝国后台貌似也有直接运行MYSQL语句的功能(自寻查找),运行语句:


delete from 自己的表前缀_ecms_news_index where id not in (select id from 自己的表前缀_ecms_news_data_1)

题外话:

网上看了其他人解决办法是表前缀_ecms_news_data_1与索引表“”自己的表前缀_ecms_news_index“”进行数据比对,其实 个人觉得操作ID的话表:表前缀_ecms_news都一个意思,因为‘表前缀_ecms_news‘表与'表前缀_ecms_news_data_1'与‘表前缀_ecms_news_index’三个表的数据行数相同,每条数据的ID也都是一一对应的。

TAGS:帝国CMS , MYSQL , 报错

来自Davids zhou博客原创文章请尊重作者:http://www.zongk.com/zongk/89.html转载请标注此链接

网站统计
文章总数:129
今天发布:0
软件资源数:18