2核1G3M服务器88一季度

腾讯云,阿里云百度云等 折扣价→点我←

解决安装插件Discuz! Database Error (1146) Table doesn't exist统一解决方案 discuz 教程

公共账号 管理员组

有很多站长在安装站长窝插件的时候,由于论坛权限或空间环境问题导致安装不完整,插件启用后,前台或后台设置页面出现如下错误提示:
Discuz! Database Error
(1146) Table 'xxx.pre_xxx_xxx doesn't exist
SELECT xxx as ma FROM `pre_xxx_lxxx`


出现如上数据库报错信息主要是插件所依赖的相关数据库表没有安装进去,插件安装不完整,一般是插件文件install.php未成功执行写入数据库表,
解决办法有2种:

方法①:
卸载插件,重新上传完整插件目录,不要随意添删修改站长窝插件,FTP软件使用二进制上传插件,重新安装尝试,并确认你论坛权限是否设置正确;

方法②
手工在phpmyadmin数据库管理软件手工执行sql语句:
打开插件目录找到install.php(一般情况下都是此文件包含执行数据库写入操作文件),
下面我们以[深蓝]多商户团购 功能强,人气王6.8的插件里install.php为例:
用php文字编辑器打开install.php:【在phpmyadmin里选择你的数据库,点击SQL,执行红色字体数据库语句】
<?php
if(!defined('IN_DISCUZ')) { exit('Access Denied');}

$sql =<<<EOF
DROP TABLE IF EXISTS `pre_tuan_area`;
CREATE TABLE `pre_tuan_area` (
`area_id` int(10) NOT NULL auto_increment,
`area_title` varchar(40) default NULL,
`area_pid` int(10) default NULL,
`area_sort` tinyint(2) default NULL,
`area_status` tinyint(2) default NULL,
`area_remarks` varchar(40) default NULL,
`area_hot` tinyint(2) default NULL,
`area_key` varchar(10) default NULL,
`area_level` tinyint(2) default NULL,
PRIMARY KEY (`area_id`)
) ENGINE=MyISAM;

DROP TABLE IF EXISTS `pre_tuan_cat`;
CREATE TABLE `pre_tuan_cat` (
`cat_id` int(10) unsigned NOT NULL auto_increment,
`cat_title` varchar(100) default NULL,
`cat_pid` int(10) default '0',
`cat_remarks` varchar(400) default NULL,
`cat_status` tinyint(2) unsigned default NULL,
`cat_sort` tinyint(2) unsigned default NULL,
`cat_level` tinyint(2) default NULL,
PRIMARY KEY (`cat_id`)
) ENGINE=MyISAM;


······

在phpmyadmin数据库管理软件选择你的数据库,点击SQL执行语句如下,安装上面红色标注部分,一段一段执行,注意,不是完全照抄执行,请注意以下范例加粗部分:

DROP TABLE IF EXISTS `pre_tuan_area`;
CREATE TABLE `pre_tuan_area` (
`area_id` int(10) NOT NULL auto_increment,
`area_title` varchar(40) default NULL,
`area_pid` int(10) default NULL,
`area_sort` tinyint(2) default NULL,
`area_status` tinyint(2) default NULL,
`area_remarks` varchar(40) default NULL,
`area_hot` tinyint(2) default NULL,
`area_key` varchar(10) default NULL,
`area_level` tinyint(2) default NULL,
PRIMARY KEY (`area_id`)
) ENGINE=MyISAM; DEFAULT CHARSET=gbk;


如果你论坛是其他编码,请将gbk改成你自己论坛编码格式;如果你的数据库默认表前缀不是pre_,请改成你自己论坛的数据库表前缀。
以此类推,请逐条按顺序执行install.php文件中每段sql语句,之后再返回论坛打开前后或后台设置页,是否正常了呢?

站长窝努力让每位站长窝站长都能自己学会和认知问题,培养自己动手和领悟能力,熟练了解和学习论坛遇到的问题,多琢磨,琢磨就是专家!

如果你嫌麻烦或太"复杂",
建站学习研究站长享有一对一远程技术支持提供给你提取完整.sql导入文件,如有需要,请联系右侧QQ客服②需求帮助!


[backcolor=rgb(255, 0, 255)]扩展阅读:[/backcolor]
插件目录没有install.php和xml安装文件解决办法:
http://bbs.zhanzhangwo.com/thread-8665-1-1.html
站长窝论坛版权声明 1、本帖标题:解决安装插件Discuz! Database Error (1146) Table doesn't exist统一解决方案
2、论坛网址:站长窝论坛
3、站长窝论坛的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
4、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
5、站长窝论坛一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本帖由公共账号在站长窝论坛《程序综合区》版块原创发布, 转载请注明出处!
评论
最新回复 (696)
返回
发新帖