帝国CMS刷新内容页报错Table '***_ecms_news_data_' doesn't exist update ***_ecms_news_data_ set
帝国CMS刷新内容页报错Table '***_ecms_news_data_' doesn't exist update ***_ecms_news_data_ set keyid='' where id='178140' limit 1解决方法
用了帝国CMS自带的数据表清理功能,没有作用,百度了一个方法:
首先本人对帝国CMS并没特别的深究,下面的答案来自网络,但是亲自测试并可行,所以拿出来做个转载
1、分析
Table '***_ecms_news_data_' doesn't exist select keyid,dokey,newstempid,closepl,infotags,address from ***_ecms_news_data_ where id='66230' limit 1
光看错误提示:是某个ID找不到,那不是很简单了,把整表排序看一下,把这个ID增加上不就可以了吗,可是突然发现好多ID的文章已经被删除找不到,如果一条条增加,那工作量太大了,那有没有把缺失的ID找出来,再统一针对ID来增加呢,当然也可以,可是突然发现这条语句不好写啊,哈哈哈哈,后来找到一个答案是说文章这块有个索引表(帝国cms不深入了解的同学,是真不知道的),那好办了,因为刷新时用的是这张索引表的字段
2、解决方法
在帝国后台执行SQl语句,如图:
我用下面这个带data的方法失败了。
delete from `***_ecms_news_index` where id not in(select id from ****_ecms_news_data)
另有一些文章是这么写(经测试,我用这个成功了):
- delete from `phome_ecms_news_index` where id not in(select id from phome_ecms_news)
用不到data。。。也不懂哪个是真的,我现在还没生成成功,等成功了告诉大家。目前用data的清三个表是有问题的。
补充说明,如果你有几个数据表的话,要注意,我自作聪明的执行了3条,后果是,没办法刷新重新成生内容页了,好吧,重新恢复数据。
delete from 自己的表前缀_ecms_news_index where id not in (select id from 自己的表前缀_ecms_news_data_1
3、感谢以下大佬的页面提供思路
https://www.cnblogs.com/fengwenit/p/9708426.html
https://www.cnblogs.com/649460214Cren/archive/2013/06/04/3118028.html
作者:最底层的技术渣
链接:https://www.jianshu.com/p/5b5d769da115
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!