有时候我们还原织梦数据的时候会提示dede_purview错误,引发该错误的原因是mysql版本的bug,是从mysql5.0还原到mysql5.1引起的,就是兼容性问题,是SQL语法不兼容造成的,本地环境的版本和服务器上的不一致时也会报错。 错误位置一般为USING BTREE ) ENGINE=M
错误位置一般为“USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=gbk;”,表名为dede_purview,我们如果为了快速解决问题,可以直接删除dede_purview表里面的“USING BTREE”,然后再还原。
当然我们还可以使用下面的方法解决:直接修改表`dede_purview`的结构。
`dede_purview`表的结构如下:
1 |
CREATE TABLE IF NOT EXISTS `dede_purview` (
|
2 |
`mid` mediumint( 8 ) DEFAULT '0' ,
|
3 |
`typeid` smallint ( 5 ) DEFAULT '0' ,
|
4 |
`rank` smallint ( 6 ) DEFAULT NULL ,
|
5 |
`pkey` varchar ( 30 ) CHARACTER SET latin1 NOT NULL ,
|
6 |
`pvalue` text NOT NULL ,
|
7 |
KEY `pkey` ( `pkey` ) USING BTREE) ENGINE = MYISAM DEFAULT CHARSET = utf8;
|
|
我们可以对其稍作修改,改为如下:
1 |
CREATE TABLE IF NOT EXISTS `dede_purview` (
|
2 |
`mid` mediumint( 8 ) DEFAULT '0' ,
|
3 |
`typeid` smallint ( 5 ) DEFAULT '0' ,
|
4 |
`rank` smallint ( 6 ) DEFAULT NULL ,
|
5 |
`pkey` varchar ( 30 ) CHARACTER SET latin1 NOT NULL ,
|
6 |
`pvalue` text NOT NULL ,
|
7 |
KEY `pkey` USING BTREE ( `pkey` )) ENGINE = MYISAM DEFAULT CHARSET = utf8;
|
|
这样再次还原的时候,就不会报错了,或者先把dede_pruview表过滤出来还原其他数据,然后执行SQL语句创建刚刚修改过的数据表dede_purview即可。