创意电子 发表于 2022-6-15 23:50:32

插件设置报错(1146)Table doesn't exist手动建表教程

以 [点微]同城通知中心 插件为例:



安装后打开设置项报错后访问报错提示如图:




一般解决方式为:
安装插件后点击设置报错(1146)Table doesn't exist解决办法

在尝试以上方法解决不了的情况下,或安装的插件比较多造成新安装插件无法自动建表、升级插件无法升级安装新增的数据库表、字段的情况下,需要手动建表,

操作帮助教程:
编辑 下载的插件目录里面 的 install.php,如图:




打开后,复制 建表语句,如图所示:【看清楚红框内容,其他插件以此类推,同理】
【一般在 $sql = <<<EOF 这句下行开始,EOF; 这句上行截止】


内容为:【这里是图上完整建表语句,其他插件请依照类似完整SQL语句】
DROP TABLE IF EXISTS `pre_tom_tctongzhi_blacklist`;
CREATE TABLE `pre_tom_tctongzhi_blacklist` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT '0',
`beizu` varchar(255) DEFAULT NULL,
`add_time` int(11) unsigned DEFAULT '0',
`part1` varchar(255) DEFAULT NULL,
`part2` varchar(255) DEFAULT NULL,
`part3` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;

DROP TABLE IF EXISTS `pre_tom_tctongzhi_cache`;
CREATE TABLE `pre_tom_tctongzhi_cache` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`plugin_id` int(11) DEFAULT '0',
`plugin_name` varchar(255) DEFAULT NULL,
`plugin_type` varchar(255) DEFAULT NULL,
`data_id` int(11) DEFAULT '0',
`user_id` int(11) DEFAULT '0',
`openid` varchar(255) DEFAULT NULL,
`tel` varchar(255) DEFAULT NULL,
`send_status` tinyint(4) DEFAULT '0',
`tel_send_status` tinyint(4) DEFAULT '0',
`wx_send_status` tinyint(4) DEFAULT '0',
`expire_time` int(11) unsigned DEFAULT '0',
`send_time` int(11) unsigned DEFAULT '0',
`add_time` int(11) unsigned DEFAULT '0',
`part1` varchar(255) DEFAULT NULL,
`part2` varchar(255) DEFAULT NULL,
`part3` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;

DROP TABLE IF EXISTS `pre_tom_tctongzhi_cache_log`;
CREATE TABLE `pre_tom_tctongzhi_cache_log` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cache_id` int(11) DEFAULT '0',
`send_mode` tinyint(4) DEFAULT '0',
`template_text` varchar(255) DEFAULT NULL,
`template_link` varchar(255) DEFAULT NULL,
`send_status` tinyint(4) DEFAULT '0',
`msg` varchar(255) DEFAULT NULL,
`add_time` int(11) unsigned DEFAULT '0',
`part1` varchar(255) DEFAULT NULL,
`part2` varchar(255) DEFAULT NULL,
`part3` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;

DROP TABLE IF EXISTS `pre_tom_tctongzhi_manage_log`;
CREATE TABLE `pre_tom_tctongzhi_manage_log` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`manage_user_id` int(11) DEFAULT '0',
`content` varchar(255) DEFAULT NULL,
`add_time` int(11) unsigned DEFAULT '0',
`part1` varchar(255) DEFAULT NULL,
`part2` varchar(255) DEFAULT NULL,
`part3` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;

DROP TABLE IF EXISTS `pre_tom_tctongzhi_plugin`;
CREATE TABLE `pre_tom_tctongzhi_plugin` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`plugin_name` varchar(255) DEFAULT NULL,
`plugin_type` varchar(255) DEFAULT NULL,
`type` tinyint(4) DEFAULT '1',
`send_days` int(11) DEFAULT '0',
`send_mode` tinyint(4) DEFAULT '0',
`send_num` int(11) DEFAULT '0',
`send_type` tinyint(4) DEFAULT '0',
`wx_template_id` varchar(255) DEFAULT NULL,
`wx_template_text` text,
`tel_template_sign` varchar(255) DEFAULT NULL,
`tel_template_id` varchar(255) DEFAULT NULL,
`tel_template_text` text,
`open_tz` tinyint(4) DEFAULT '0',
`cache_time` int(11) unsigned DEFAULT '0',
`add_time` int(11) unsigned DEFAULT '0',
`part1` varchar(255) DEFAULT NULL,
`part2` varchar(255) DEFAULT NULL,
`part3` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;

DROP TABLE IF EXISTS `pre_tom_tctongzhi_set`;
CREATE TABLE `pre_tom_tctongzhi_set` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cache_start_time` int(11) unsigned DEFAULT '0',
`cache_end_time` int(11) unsigned DEFAULT '0',
`send_start_time` int(11) unsigned DEFAULT '0',
`send_end_time` int(11) unsigned DEFAULT '0',
`check_key` varchar(255) DEFAULT NULL,
`part1` varchar(255) DEFAULT NULL,
`part2` varchar(255) DEFAULT NULL,
`part3` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;然后,在 后台 —— 站长 —— 数据库 —— 升级:
如果点击升级没有看到输入框,需要将 config/config_global.php 当中的 $_config['admincp']['runquery'] 设置修改为 1。

如图所示,在输入框 粘贴进去我们刚刚从插件install.php 文件复制的建表语句:




点击最下面的 “提交” 按钮,执行升级操作即可正常。

然后再返回插件设置项或访问页面查看是否正常。
页: [1]
查看完整版本: 插件设置报错(1146)Table doesn't exist手动建表教程