查看: 72|回覆: 0

[教程] 帝国cms7.0 数据更新批量生成时出错的解决方法

[複製鏈接]

5

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-9-18
發表於 2013-12-13 15:06:00 | 顯示全部樓層 |閲讀模式

今天升级以后的帝国cms7.0在生成页面时出现了奇怪的错误

QQ截图20130614135916.jpg

 

Table ‘表前缀_ecms_news_data_’  doesn't exist...

很明显这是提示表不存在,但是这个表名是错误的,他缺少了_1,正确的表名应是 表前缀_ecms_data_1 这样的

后面的_1是根据主表里的stb字段来设定的,看了主表phome_ecms_news 里的记录他的stb字段都是为1是正常的

但是发现主表里并没有出现这个错误的ID存在,我的情况是ID为118,但是主表里没有118这个ID了

后来发现帝国cms7.0的生成机制应该先读取phome_ecms_news_index这样的索引表,因为这个表里还存在118这个ID

主表里不存在自然就读取不到stb字段的内容也就会出现前文所说的问题了

怎么解决呢

看了帝国cms7.0的数据更新最下面有个【清理多余数据】的功能

QQ截图20130614140850.jpg

看图示里提示 “Table '*.phome_ecms_' doesn't exist......update ***_ecms_ set havehtml=1 where id='' limit 1”

看来帝国cms官方也预料到可能会出现这样的情况吧

于是就清理了一遍,结果总是不那么顺利,没有起到作用...

我们已经知道的故障原因,还是自己解决吧,解决办法就是清理掉索引表里多余的信息
 

我用一个sql来解决

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

帝国cms后台执行一下这个sql语句

再去生成,搞定了。

回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部