
英制cms7.0数据更新批量生成出错怎么办?
今天升级的帝国cms7.0在生成页面时出现了一个奇怪的错误。
建议学习帝国cms课程。

表\’ table prefix _ecms_news_data_ \’不# 39;不存在…
很明显,这意味着表不存在,只是表名错了,而且是missing _1。正确的表名应该是表前缀_ ecms _ data _ 1。
根据主表中的stb字段设置following _1。正常读取主表phome_ecms_news中的记录他的stb字段都是1。
但是,我发现这个错误的ID在主表中并不存在。在我的例子中,ID是118,但是主表中没有118的ID。
后来发现帝国cms7.0的生成机制应该是先读取phome_ecms_news_index之类的索引表,因为这个表中还存在118的ID。
如果没有主表,stb字段的内容自然无法读取,就会出现上面提到的问题。
怎么解决?
看了帝国cms7.0的数据更新,底部有一个【清除冗余数据】的功能。

看图中提示“表# 39;*.phome _ ecms _ # 39没有# 39;不存在……update ***_ecms_ set havehtml=1其中id = # 39#39;限制16岁以上
帝国cms官员似乎也预料到了这种情况的发生。
于是我清理了一下,结果总是不那么顺利,也不管用。…
我们已经知道失败的原因,所以让我们自己解决它。解决方法是清理索引表中的冗余信息。
我用一个sql来解决它。
登录后,如果id不在(从phome _ ecms _ news中选择id)副本中,则从“phome _ ecms _ news _ index”中删除。