网上有朋友反映说dedecms在导入数据库的时候提示dede_purview错误
我们试过发现错误原因是因为mysql版本的bug,是因为从mysql5.0导入到mysql5.1版本所以引起的。
之所以出现这个错误原因好象是跟MYSQL数据库版本不对应有关,也就是版本兼容性问题,是SQL的语法不兼容出现的。
本地上测试的版本和服务器上的不一致的报错。错误位置为“USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=gbk;”表名为dede_purview,为了能快速解决这个问题,我们删除了“USING BTREE”,最后导入成功。
也可参考以下方法解决:
修改表 `dede_purview` 的结构。
表的结构
`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即可。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。