恢复数据库,出错,急求助!

2016-07-07 15:48 来源:www.chinab4c.com 作者:ecshop专家

2.6.1恢复数据

MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] =>
Array ( [sql] => CREATE TABLE `ecs_account_log` ( `log_id` mediumint(8) unsigned NOT NULL
auto_increment, `user_id` mediumint(8) unsigned NOT NULL default '0', `user_money` decimal
(10,2) NOT NULL default '0.00', `frozen_money` decimal(10,2) NOT NULL default '0.00',
`rank_points` mediumint(9) NOT NULL default '0', `pay_points` mediumint(9) NOT NULL default
'0', `change_time` int(10) unsigned NOT NULL default '0', `change_desc` varchar(255) NOT
NULL default '', `change_type` tinyint(3) unsigned NOT NULL default '0', PRIMARY KEY
(`log_id`), KEY `user_id` (`user_id`) ) ENGINE=MyISAM DEFAULT CHARSET=gbk DEFAULT
CHARSET=utf8 ) [2] => Array ( [error] => Conflicting declarations: 'CHARACTER SET gbk' and
'CHARACTER SET utf8' ) [3] => Array ( [errno] => 1302 ) )


该怎么办呀?是不是数据库某地方出错需要修复???

回答:
改一下代码就好了admin/database.php

if ((strpos($ret[$i], 'CREATE TABLE') !== false) && (strpos($ret[$i], 'DEFAULT CHARSET=gbk')=== false))
{
/* 建表时缺 DEFAULT CHARSET=utf8 */
$ret[$i] = $ret[$i] . ' DEFAULT CHARSET=gbk';
}

if ((strpos($ret[$i], 'CREATE TABLE') !== false) && (strpos($ret[$i], 'DEFAULT CHARSET=gbk')!== false))
{
$ret[$i] = str_replace('DEFAULT CHARSET=gbk', '', $ret[$i]);
}

好的,我看看,谢谢楼上