今天在生成一个很久没维护的网站的时候,出现一行错误提示:Table '**.***_ecms_news_data_' doesn't exist select keyid,dokey,newstempid,closepl,infotags,writer,befrom,newstext from ***_ecms_news_data_ where id='36686' limit 1,检查了下,在_ecms_news_data_1这个表中,确实不存在36686这篇文章了。phome_ecms_news_index索引表中存在。
因此,出现这个问题的原因就很简单了:phome_ecms_news_data_1信息表中该信息已经删除了,但是phome_ecms_news_index索引表中还存在,所以就出错了。
因此出现这种情况都是非正常删除造成的,比如直接在数据表中删除文章,后台操作不会出现这种情况。
另外一个喜欢出现这种错误就是采集,采集入库的时候出错也会出现这种情况
Table '.***_ecms_news_data_' doesn't exist select keyid,dokey,newstempid,closepl,infotags,writer,befrom,newstext from ***_ecms_news_data_ where id='36686' limit 1解决方法
后台或者数据库执行以下sql语句即可:
delete from `phome_ecms_news_index` where id not in(select id from phome_ecms_news)
执行完成重新生成无错,完成解决,执行sql语句的时候记得备份哦。