很多人在网站搬家后还原数据时提示dede_purview错误,错误原因是mysql版本的bug,是从mysql5.0导入到mysql5.1引起的。出现这个错误原因好象是跟MYSQL数据库版本不对应有关,就是兼容性问题,是SQL语法不兼容造成的。本地的版本和服务器上的不一致的报错。错误位置为“USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=gbk;”表名为dede_purview,为了快速解决问题,删除了“USING BTREE”,导入成功。
也可参考以下方法解决:修改表 `dede_purview` 的结构。
CREATE TABLE IF NOT EXISTS `dede_purview` (
`mid` mediumint( 8 ) DEFAULT '0',
`typeid` smallint( 5 ) DEFAULT '0',
`rank` smallint( 6 ) DEFAULT NULL ,
`pkey` varchar( 30 ) CHARACTER SET latin1 NOT NULL ,
`pvalue` text NOT NULL ,
KEY `pkey` ( `pkey` ) USING BTREE) ENGINE = MYISAM DEFAULT CHARSET = utf8;
稍作修改即可,改为如下:
CREATE TABLE IF NOT EXISTS `dede_purview` (
`mid` mediumint( 8 ) DEFAULT '0',
`typeid` smallint( 5 ) DEFAULT '0',
`rank` smallint( 6 ) DEFAULT NULL ,
`pkey` varchar( 30 ) CHARACTER SET latin1 NOT NULL ,
`pvalue` text NOT NULL ,
KEY `pkey` USING BTREE ( `pkey` )) ENGINE = MYISAM DEFAULT CHARSET = utf8;
这样再次导入的时候,就不会报错了,又或者是直接在执行此SQL语句建立此表!
避免错误方法:本地数据库导出的时候,全选所有表之后,建议先把dede_pruview这张表过滤出来,然后执行SQL语句创建数据表dede_purview即可。