/文章

discuz报错"home_feed""forum_rsscache"表的解决办法

首先看下报错的情况:

情况1:

1.Incorrect file format 'home_feed'

pre_home_feed表报错:

ACBAFR]8LA3_CV]@5FKB7RL

 

这个情况的发生,我没搞清楚,在发帖时,会出现这种提示,但是有的时候我在国内发帖不会报错,西班牙则会,先不管原因,既然存在问题,我们到数据库看下,

本来想进phpmyadmin修复下,进入数据库之后发现这个表显示在“使用中”,而且在phpmyadmin中根本无法修复,有的小伙伴会说用tools工具

那么会提示这样。。:Incorrect file format 'pre_home_feed'  

如图所示:QQ截图20150703095520

TOOLS工具亦无法修复。网上有很多解决办法,以下的代码就是重建代码,在数据表出错或者丢失的时候都能使用:

在此做个记录,下次遇到坑爹的DZ的时候,可以解决。

使用方法就是在DZ的后台中,使用数据库的修复,默认的DZ是不支持的直接执行sql的,需要修改config文件夹中的配置文件

具体位置是修改config/config_global.php文件查找下面代码把0改为1,开启后台直接运行SQL

QQ截图20150703103643

 

DROP TABLE IF EXISTS pre_home_feed;
CREATE TABLE pre_home_feed (
feedid int(10) unsigned NOT NULL AUTO_INCREMENT,
appid smallint(6) unsigned NOT NULL DEFAULT '0',
icon varchar(30) NOT NULL DEFAULT '',
uid mediumint(8) unsigned NOT NULL DEFAULT '0',
username varchar(15) NOT NULL DEFAULT '',
dateline int(10) unsigned NOT NULL DEFAULT '0',
friend tinyint(1) NOT NULL DEFAULT '0',
hash_template varchar(32) NOT NULL DEFAULT '',
hash_data varchar(32) NOT NULL DEFAULT '',
title_template text NOT NULL,
title_data text NOT NULL,
body_template text NOT NULL,
body_data text NOT NULL,
body_general text NOT NULL,
image_1 varchar(255) NOT NULL DEFAULT '',
image_1_link varchar(255) NOT NULL DEFAULT '',
image_2 varchar(255) NOT NULL DEFAULT '',
image_2_link varchar(255) NOT NULL DEFAULT '',
image_3 varchar(255) NOT NULL DEFAULT '',
image_3_link varchar(255) NOT NULL DEFAULT '',
image_4 varchar(255) NOT NULL DEFAULT '',
image_4_link varchar(255) NOT NULL DEFAULT '',
target_ids text NOT NULL,
id mediumint(8) unsigned NOT NULL DEFAULT '0',
idtype varchar(15) NOT NULL DEFAULT '',
hot mediumint(8) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (feedid),
KEY uid (uid,dateline),
KEY dateline (dateline),
KEY hot (hot),
KEY id (id,idtype)
) TYPE=MyISAM;

2.pre_home_feed_app

同样的,如果是情况二

pre_home_feed_app"表的话,可以使用一下代码:

DROP TABLE IF EXISTS pre_home_feed_app;
CREATE TABLE pre_home_feed_app (
feedid int(10) unsigned NOT NULL AUTO_INCREMENT,
appid smallint(6) unsigned NOT NULL DEFAULT '0',
icon varchar(30) NOT NULL DEFAULT '',
uid mediumint(8) unsigned NOT NULL DEFAULT '0',
username varchar(15) NOT NULL DEFAULT '',
dateline int(10) unsigned NOT NULL DEFAULT '0',
friend tinyint(1) NOT NULL DEFAULT '0',
hash_template varchar(32) NOT NULL DEFAULT '',
hash_data varchar(32) NOT NULL DEFAULT '',
title_template text NOT NULL,
title_data text NOT NULL,
body_template text NOT NULL,
body_data text NOT NULL,
body_general text NOT NULL,
image_1 varchar(255) NOT NULL DEFAULT '',
image_1_link varchar(255) NOT NULL DEFAULT '',
image_2 varchar(255) NOT NULL DEFAULT '',
image_2_link varchar(255) NOT NULL DEFAULT '',
image_3 varchar(255) NOT NULL DEFAULT '',
image_3_link varchar(255) NOT NULL DEFAULT '',
image_4 varchar(255) NOT NULL DEFAULT '',
image_4_link varchar(255) NOT NULL DEFAULT '',
target_ids text NOT NULL,
PRIMARY KEY (feedid),
KEY uid (uid,dateline),
KEY dateline (dateline)
) TYPE=MyISAM;

还有就是比较奇葩的,我在修复第一种情况的时候,竟然出现了第三种情况,

 3.pre_forum_rsscache

这张表也出错了。。

doc_1392211548727029.files_image0

不过还好这个在修复的时候,比较简单,可以直接在后台,或者在phpmyadmin中修复.

如果这个表你也需要重建的话,那么参考下面代码:

CREATE TABLE IF NOT EXISTS `pre_forum_rsscache` (
`lastupdate` int(10) unsigned NOT NULL DEFAULT ‘0’,
`fid` mediumint(8) unsigned NOT NULL DEFAULT ‘0’,
`tid` mediumint(8) unsigned NOT NULL DEFAULT ‘0’,
`dateline` int(10) unsigned NOT NULL DEFAULT ‘0’,
`forum` char(50) NOT NULL DEFAULT ”,
`author` char(15) NOT NULL DEFAULT ”,
`subject` char(80) NOT NULL DEFAULT ”,
`description` char(255) NOT NULL DEFAULT ”,
`guidetype` char(10) NOT NULL DEFAULT ”,
UNIQUE KEY `tid` (`tid`),
KEY `fid` (`fid`,`dateline`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;

4.注意:

本操作不能保证100%一点问题都没有,所以,请在碰到此情况的时候,一定要慎重操作,备份数据库后,谨慎操作,避免造成损失,切记 切记!!!

 

原文链接:,转发请注明来源!
1 0

发表评论

要发表评论,您必须先