A-A+

ecshop 提示 ecs_sessions 表不存在

2015年10月19日 PHP开源系统 评论 1 条 阅读 136 views 次

在更换了 ecshop 空间之后,需要恢复之前备份好的数据库,但却不能完全导入,提示 ecs_sessions 表不存在,使用的是 ecshop 后台 mysql 数据库导入工具,导入时出现的错误如下所示:

MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( => Insert INTO `test`.`ecs_sessions` (sesskey, expiry, ip, data) VALUES (’8a3107988bf98cc9a5079fdfbe766120′, ’1278128679′, ’127.0.0.1′, ‘a:0:{}’) ) [2] => Array ( [error] => Table ‘test.ecs_sessions’ doesn’t exist ) [3] => Array ( [errno] => 1146 ) ) ,

刚开始还以为是 mysql 数据库的问题,又重建了 mysql ,定义好字符集等,但依旧出现如上的错误,导入不了数据库,仔细分析上述的错误代码,发出错误出在 ecs_sessions 这个表上,原来通过 ecshop 后台备份数据表的时候少备份了这个表以及 ecs_sessions_data表,所以无法进入导入,只要我们将这两个表补上去就可以了。

分别将下面两段SQL语句复制粘贴到“ECSHOP后台 》数据库管理 》SQL查询”的输入框里提交即可。

CREATE TABLE IF NOT EXISTS `ecs_sessions` (
`sesskey` char(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`expiry` int(10) unsigned NOT NULL DEFAULT '0',
`userid` mediumint(8) unsigned NOT NULL DEFAULT '0',
`adminid` mediumint(8) unsigned NOT NULL DEFAULT '0',
`ip` char(15) NOT NULL DEFAULT '',
`user_name` varchar(60) NOT NULL,
`user_rank` tinyint(3) NOT NULL,
`discount` decimal(3,2) NOT NULL,
`email` varchar(60) NOT NULL,
`data` char(255) NOT NULL DEFAULT '',
PRIMARY KEY (`sesskey`),
KEY `expiry` (`expiry`)
) ENGINE=MEMORY DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `ecs_sessions_data` (
`sesskey` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`expiry` int(10) unsigned NOT NULL DEFAULT '0',
`data` longtext NOT NULL,
PRIMARY KEY (`sesskey`),
KEY `expiry` (`expiry`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

注意:
1)此例使用的是默认表前缀 ecs_ ,如果你的表前缀不是 ecs_ 请自行修改后 再提交
2)此例使用的是UTF8字符集 如果你使用的是GBK字符集 也请自行修改后,再提交。

标签:

1 条留言  访客:1 条  博主:0 条

  1. 香港vps

    ecshop 提示 ecs_sessions 表不存在,sessions 不是缓存吗?怎么会不存在呢?这个好难理解

给我留言