首页 教程资源正文

解决Discuz!表不存在的方法

娜迦源码 教程资源 2019-04-20 00:37:26 326 0 教程资源

很多站长突然发现自己的站打开报错1146,就不知道该怎么办了,最常见的报错表是以下2个: 
[1146] Table 'sqla1212142518.common_session' doesn't exist 
[1146] Table 'sqlshou277.common_cron' doesn't exist 

其实你认不认识这些英语没关系,只要知道大概什么意思就行,下面我解释下: 
Table:数据表。 
sqla1212142518 /sqlshou277:这2个是数据库名,一般就是自己的数据库,记住在单引号开头的是数据库名就行。 
common_session/common_cron:这2个是数据表,也就是需要重建的表。 
doesn't exist:不存在。如果不认识这2个单词可以使用在线翻译。 

知道这些了就容易了,哪个表不存在就重建哪个,当然这2个表里没有重要数据,重建就行,如果是member或者post表不存在那就得恢复数据了,否则就会导致没有会员或者帖子。 

首先下载和自己论坛版本对应的标准程序,解压之后,打开\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,粘贴建表语句,点执行即可。

版权声明

1:如非特殊说明,本站对提供的源码不拥有任何权利,其版权归原著者拥有。

2:请勿将该源码、软件进行商业交易、转载等行为,该源码、软件只为研究、学习所提供,该软件使用后发生的一切问题与本站无关。

3:本网站所有源码和软件均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。如有侵犯你版权的,请来信(邮箱:393249296@qq.com)指出,本站将立即改正。

本文链接:https://www.wsx6.cn/post/1338.html

分享:

支付宝

微信

嘿,我是客服
请先 登录 再评论,若不是会员请先 注册