Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Discuz! 4.1 的标准数据表遗失后的解决方法教程

[复制链接]
AgFx 发表于 2006-8-21 13:20:52 | 显示全部楼层 |阅读模式
如果出现像这样的数据错误 Error: Table 'discuz_cn.cdb_announcements' doesn't exist ,是指 cdb_announcements 的数据表遗失了,如果有备份数据的话就直接恢复,但如果没有的话可以使用以下的升级数据库来解决,不过凡事重建数据库的话,该数据表的资料将完全遗失,就好像这个例子这样论坛公告的所有资料将会遗失。重建数据表是最后的选择,请时常对您的论坛进行备份数据,以便出现错误时可以及时恢复。有关 Discuz! 标准的数据表可以在安装包里的 ./install/discuz.sql 里找到。
cdb_ 是默认的表名前缀,如果不同大家可以自行修改。

  1. DROP TABLE IF EXISTS cdb_announcements;
  2. CREATE TABLE cdb_announcements (
  3.   id smallint(6) unsigned NOT NULL auto_increment,
  4.   author varchar(15) NOT NULL default '',
  5.   `subject` varchar(250) NOT NULL default '',
  6.   displayorder tinyint(3) NOT NULL default '0',
  7.   starttime int(10) unsigned NOT NULL default '0',
  8.   endtime int(10) unsigned NOT NULL default '0',
  9.   message text NOT NULL,
  10.   PRIMARY KEY  (id),
  11.   KEY timespan (starttime,endtime)
  12. ) TYPE=MyISAM;
复制代码


==================================================================================================

出现 Error 1054 : Unknown column 'poll' in 'field list' 的错误是指 cdb_threads 数据表里的 poll (Field)遗失了,可以使用以下的数据表来重新升级

  1. ALTER TABLE `cdb_threads` ADD `poll` TINYINT(1) DEFAULT '0' NOT NULL;
复制代码


有关的数据可以在安装包里的 ./install/discuz.sql 里找到。我们可以使用 Microsoft Windows 里的 Notepad ,然后再使用 Ctrl + F 的来进行寻找 poll 的数据。我们可以找到像以下的数据......

DROP TABLE IF EXISTS cdb_threads;
CREATE TABLE cdb_threads (
  tid mediumint(8) unsigned NOT NULL auto_increment,
  fid smallint(6) unsigned NOT NULL default '0',
  iconid smallint(6) unsigned NOT NULL default '0',
  typeid smallint(6) unsigned NOT NULL default '0',
  readperm tinyint(3) unsigned NOT NULL default '0',
  price smallint(6) NOT NULL default '0',
  author char(15) NOT NULL default '',
  authorid mediumint(8) unsigned NOT NULL default '0',
  `subject` char(80) NOT NULL default '',
  dateline int(10) unsigned NOT NULL default '0',
  lastpost int(10) unsigned NOT NULL default '0',
  lastposter char(15) NOT NULL default '',
  views int(10) unsigned NOT NULL default '0',
  replies mediumint(8) unsigned NOT NULL default '0',
  displayorder tinyint(1) NOT NULL default '0',
  highlight tinyint(1) NOT NULL default '0',
  digest tinyint(1) NOT NULL default '0',
  rate tinyint(1) NOT NULL default '0',
  blog tinyint(1) NOT NULL default '0',
  poll tinyint(1) NOT NULL default '0',
  attachment tinyint(1) NOT NULL default '0',
  subscribed tinyint(1) NOT NULL,
  moderated tinyint(1) NOT NULL default '0',
  closed mediumint(8) unsigned NOT NULL default '0',
  PRIMARY KEY  (tid),
  KEY digest (digest),
  KEY displayorder (fid,displayorder,lastpost),
  KEY blog (blog,authorid,dateline),
  KEY typeid (fid,typeid,displayorder,lastpost)
) TYPE=MyISAM;


找到 poll 后,我们可以看看原来是在 cdb_threads 数据表里的,然后就执行 ALTER TABLE `cdb_threads` ADD `poll` TINYINT(1) NOT NULL DEFAULT '0' ;

我可能解释到不是很清楚,但我已经是尽量用我的能力解释到清楚了。:)

评分

1

查看全部评分

快乐星星 发表于 2006-8-22 21:00:57 | 显示全部楼层
不清楚啊
回复

使用道具 举报

linsie 发表于 2006-8-26 19:38:09 | 显示全部楼层
好东西怎么进沉下去了 郁闷完discuz的人
回复

使用道具 举报

羽扇纶巾 发表于 2006-8-30 14:25:13 | 显示全部楼层
哦。。。
终于明白一些东西了。~
谢谢楼主!!!
回复

使用道具 举报

uoojoo 发表于 2007-4-18 02:05:53 | 显示全部楼层
:)

好东西  收藏
回复

使用道具 举报

啊毛。 发表于 2007-5-26 15:22:45 | 显示全部楼层
还有位置顶顶顶~~
回复

使用道具 举报

pc77maikongjian 发表于 2007-5-28 16:28:55 | 显示全部楼层
谢谢楼主分享.支持一下!
回复

使用道具 举报

pc77maikongjian 发表于 2007-5-28 16:29:29 | 显示全部楼层
重建数据表是最后的选择
回复

使用道具 举报

pc77maikongjian 发表于 2007-5-28 16:29:56 | 显示全部楼层
论坛进行备份数据,这个很重要!:)
回复

使用道具 举报

kurtcobai 发表于 2007-5-29 23:55:55 | 显示全部楼层
重建数据表是最后的选择
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-25 14:57 , Processed in 0.031701 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表