Discuz提示Table ‘common_session’ doesn’t exist错误的解决方法

Discuz提示Table ‘common_session’ doesn’t exist错误的解决方法

有时候我们会发现自己的网站站打开会报错1146,最常见的报错表是以下2个:

[1146] Table 'sql***.common_session' doesn't exist
[1146] Table 'sql***.common_cron' doesn't exist

上面的错误代码提示的意思是common_session跟common_cron这2个数据表不存在。

我们知道这些提示的是什么意思了就很好解决了,既然哪个表不存在我们就重建哪个表,当然这2个表里没有重要数据,重建就行。

首先下载和自己论坛版本对应的标准程序,解压之后,打开\upload\install\data\install.sql的文件。

CTRL+F搜索报错的表名common_session。找到建表语句,如下面的代码:

DROP TABLE IF EXISTS pre_common_session;
CREATE TABLE pre_common_session (
  sid char(6) NOT NULL DEFAULT '',
  ip1 tinyint(3) unsigned NOT NULL DEFAULT '0',
  ip2 tinyint(3) unsigned NOT NULL DEFAULT '0',
  ip3 tinyint(3) unsigned NOT NULL DEFAULT '0',
  ip4 tinyint(3) unsigned NOT NULL DEFAULT '0',
  uid mediumint(8) unsigned NOT NULL DEFAULT '0',
  username char(15) NOT NULL DEFAULT '',
  groupid smallint(6) unsigned NOT NULL DEFAULT '0',
  invisible tinyint(1) NOT NULL DEFAULT '0',
  `action` tinyint(1) unsigned NOT NULL DEFAULT '0',
  lastactivity int(10) unsigned NOT NULL DEFAULT '0',
  lastolupdate int(10) unsigned NOT NULL DEFAULT '0',
  fid mediumint(8) unsigned NOT NULL DEFAULT '0',
  tid mediumint(8) unsigned NOT NULL DEFAULT '0',
  UNIQUE KEY sid (sid),
  KEY uid (uid)
) TYPE=HEAP;

注意:如果你的数据库表前缀不是默认的pre_,那么需要把建表语句里面的pre_替换成你正在用的表前缀。

代码使用方法:

复制上面的建表语句,进入phpmyadmin,随便点一个表,点击SQL,粘贴建表语句,点执行即可。


Discuz错误提示

分享到 :
相关推荐