有时候我们还原织梦数据的时候会提示dede_purview错误,引发该错误的原因是mysql版本的bug,是从mysql5.0还原到mysql5.1引起的,就是兼容性问题,是SQL语法不兼容造成的,本地环境的版本和服务器上的不一致时也会报错。

 

错误位置一般为“USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=gbk;”,表名为dede_purview,我们如果为了快速解决问题,可以直接删除dede_purview表里面的“USING BTREE”,然后再还原。

 

当然我们还可以使用下面的方法解决:直接修改表`dede_purview`的结构。

 

`dede_purview`表的结构如下:

 

CREATE TLE 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 TLE 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;

 

这样再次还原的时候,就不会报错了,或者先把dede_pruview表过滤出来还原其他数据,然后执行SQL语句创建刚刚修改过的数据表dede_purview即可。