今天升級以后的帝國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語句
再去生成,搞定了。
新聞熱點
疑難解答