|
|
Table '%s' doesn't exist是我们经常看到的数据库报错的情况,主要是查询的数据表不存在,具体如下图所示:
图中提示就是站帮网趣味问答插件数据表丢失导致的,从标题Table 'zhanwhy12.sa_reminder_no' doesn't exist可以看出数据库zhanwhy12下的数据表sa_reminder_no丢失;从下面报错的路径source/plugin/sa_reminder/hook.class.php可以看出来是这个是插件目录为sa_reminder插件出错。
有可能是以下原因造成:
1、意外操作的过程中导致数据表的丢失;
2、安装插件过程中没有添加上插件需要的表;
3、论坛配置文件 config\config_global.php、config\config_ucenter.php和uc_server\data\config.inc.php文件的时候,表前缀填写错误;
4、正在使用的 discuz! 相应版本的程序文件连接不对应的数据库(比如 搬家后数据库名不正确或数据库用户名和密码不正确)。
解决方法:
1、使用之前的备份进行恢复,如果是一些缓存数据表,可以使用安装包里面对于的sql语句重新创建
2、卸载了插件重新安装或联系插件作者咨询沟通,确定是否插件问题,临时解决方法就是关闭该插件即可。
3、配置文件config\config_global.php和uc_server\data\config.inc.php比较容易修改,最容易出错的是config\config_ucenter.php中define('UC_DBTABLEPRE', '`dzx31`.pre_ucenter_');涉及到数据库名和表前缀,很多时候搬家过程中会忽略导致错误出现。如下图所示
4、基本上和3差不多,都是要检查这3个文件里面对于的数据库地址、数据库名、数据库用户名和密码及表前缀正确。
推荐查看相关数据库报错解决方法:
1、无法连接到 mysql数据库Can't connect to MySQL server on 'localhost'的解决方法
https://www.cgzz8.cn/t-24272-1-1.html
2、数据库出错提示Duplicate entry * for key *的解决方法
https://www.cgzz8.cn/t-24271-1-1.html
|
|