帝国CMS刷新数据表news提示update ***_ecms__index set havehtml=1 where id='' limit 1

今天我在进行“数据更新”时,点击“刷新所有信息内容页面”后,在“刷新数据表:article”一项出现提示Table ‘empirecms.phome_ecms_’ doesn’t exist

代码如下:

Table 'www_zwwiki_com.***_ecms_news_data_' doesn't exist;

select keyid,dokey,newstempid,closepl,infotags,befrom,newstext from ***_ecms_news_data_ where id='207409' limit 1;

并且在后台单片点击id生成的情况下会出现

Table ‘empirecms.phome_ecms_’ doesn’t exist 
update ***_ecms_ set havehtml=1 where id=” limit 1 

后来在网上搜索,是这样解释的: 

原因:你修改了栏目所属系统模型导致,因为栏目原来所属系统模型本身就有信息,而你改动了所属系统模型,使得这些信息无法找出所属栏目导致出错。 
解决方案:修改栏目改回原来所属系统模型,然后进管理信息删除栏目所有的信息,最后再修改栏目改回所属新系统模型就可以解决。 

所以这里分享一个比较简单直接的解决方法,就是依次执行以下SQL语句: 

select id from phome_ecms_news where id not in (select id from phome_ecms_news_data_1) ;
delete from phome_ecms_news where id not in (select id from phome_ecms_news_data_1) ;

以上两个代码的意思查询 ecms_news主表id是否在ecms_news_data_1表中存在。如果不存在就查询出来不存在的信息,

跌条是 删除不存在的信息id。

但是还是会提示错误,不能解决这个问题。所以还还要比对phome_ecms_news_index 和phome_ecms_news 的id。

然后删除phome_ecms_news_index 所查询到的信息,:代码如下:

select id from phome_ecms_news_index where id not in (select id from phome_ecms_news)

查询到后直接删除,在Phpmyadmin里面或者Navicat里面

  

 

111
posted @ 2023-06-03 20:57  八路逆袭寡妇村  阅读(135)  评论(0编辑  收藏  举报
www.shiciyue.com