来源:自学PHP网 时间:2014-09-27 19:03 作者: 阅读:次
[导读] 这篇文章主要为大家介绍下帝国cms7.0 数据更新批量生成时出错的解决方法,需要的朋友可以参考下...
这篇文章主要为大家介绍下帝国cms7.0 数据更新批量生成时出错的解决方法,需要的朋友可以参考下
今天升级以后的帝国cms7.0在生成页面时出现了奇怪的错误
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的数据更新最下面有个【清理多余数据】的功能 看图示里提示 “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语句 再去生成,搞定了。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com