百度 | 神马 | 搜狗 | 技术文档 | 学习资料分享 - 记录帝国CMS及运维技术的点点滴滴
你的位置:首页 > 帝国cms技术 » 正文

重建英制cms数据索引表,用于ecms_news_index表的损坏、丢失或错误

发布时间:2020-11-07

作品分类:帝国CMS  数据库

出现这错误:

还有一个表现就是,修改任何一篇文章,都显示链接不存在,但是可以刷新文章。

后台查看,ecms_news_index的记录数字,只有7个,远远小于ecms_news的记录数,正常情况下,二者应该是一样的。只是不知为何这表丢数据了。

查看字段后,发现除了checked字段外,其余字段可以从主表ecms_news中导出。所以...(做下列数据库操作之前请备份数据)

 

===重新生成新闻数据索引表=====

CREATE TABLE [!db.pre!]ecms_newstemp AS(SELECT id,classid,newstime,truetime,lastdotime,havehtml FROM [!db.pre!]ecms_news);

ALTER TABLE `[!db.pre!]ecms_newstemp`  ADD COLUMN `checked` tinyint(1) not null  DEFAULT 0 AFTER `classid`;

ALTER TABLE `[!db.pre!]ecms_newstemp`  add primary key (id);

alter table [!db.pre!]ecms_news_index rename to [!db.pre!]ecms_news_indexbak;

alter table [!db.pre!]ecms_newstemp rename to [!db.pre!]ecms_news_index;

ALTER TABLE `[!db.pre!]ecms_news_index` CHANGE `id` `id` INT(10) NOT NULL AUTO_INCREMENT;

 

alter table [!db.pre!]ecms_news_index add index(classid);

alter table [!db.pre!]ecms_news_index add index(checked);

alter table [!db.pre!]ecms_news_index add index(newstime);

alter table [!db.pre!]ecms_news_index add index(truetime);

update [!db.pre!]ecms_news_index set checked=1;

====建议分条执行,一是避免超时,二是能发现错误====

Top