ecshop搬家恢复数据提示ecs_sessions不存在的解决方法

 ecshop 网店程序在搬迁空间或恢复备份或更换域名后 ,经常会出现以下错误提示:
 MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => 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 ) ) ,
 
 这是因为你当初通过ECSHOP后台备份时,
 少了两个表,
 一个是 ecs_sessions ,一个是 ecs_sessions_data。

既然是少了两张表,那么我们想法给他重新建立就OK了呗。

分别将下面两段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字符集 也请自行修改后,再提交。

你可能感兴趣的:(session)