discuzx1.5 Errno:1054错误解决方法
discuzx1.5在经过一段时间的维护或人为的编辑后,在后台执行一些操作的时候,可能会出现 Errno:1054错误
详细出错信息如下:
UCenter info: MySQL Query Error
SQL:SELECT * FROM [Table]notelist WHERE closed='0' AND app1<'1' AND app1>'-5' LIMIT 1
Error:Unknown column 'app1' in 'where clause'
Errno:1054
根据提示信息可知,在数据库中没有app1这个列
(备忘:这里面牵扯到ucenter的数据库,是采用原先老版的ucenter的备份恢复的,所以可能有些字段没有,也是可以理解的)
那么解决方法是:
找到新版discuzx1.5中构建数据库的语句,牵扯到app1的是这一段:
DROP TABLE IF EXISTS xyz_ucenter_notelist;
CREATE TABLE xyz_ucenter_notelist (
noteid int(10) unsigned NOT NULL AUTO_INCREMENT,
operation char(32) NOT NULL,
closed tinyint(4) NOT NULL DEFAULT '0',
totalnum smallint(6) unsigned NOT NULL DEFAULT '0',
succeednum smallint(6) unsigned NOT NULL DEFAULT '0',
getdata mediumtext NOT NULL,
postdata mediumtext NOT NULL,
dateline int(10) unsigned NOT NULL DEFAULT '0',
pri tinyint(3) NOT NULL DEFAULT '0',
app1 tinyint(4) NOT NULL,
PRIMARY KEY (noteid),
KEY closed (closed,pri,noteid),
KEY dateline (dateline)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 AUTO_INCREMENT=5;
下面还有几个insert into语句
我的做法是,在discuzx1.5的数据库中执行这些语句,之后上面的错误消失。
(notelist表中的内容应该不重要的吧?)