帝國cms7.0 資料更新批次產生時發生錯誤怎麼辦?
今天升級以後的帝國cms7.0在生成頁面時出現了奇怪的錯誤
推薦學習《帝國cms教程》
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語句
再去生成,搞定了。
以上是帝國cms7.0 資料更新批次產生時出錯怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!