首页 > 网站制作
一言推荐::D 获取中...

dedecms 数据库导入时出现dede_purview错误

网站制作/ 2018-05-16/

  今天用DEDECMS5.7新做了个网站,本地服务器调试完成了。放到公司的服务器上的时候开始出问题了,NavicatforMySQL本地转储sql文件后,运行批次任务文件将数据导入到服务器上出现错误提示:
 
  [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=gbk' at line 7
[Err] CREATE TABLE `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=gbk;
[Msg] Finished - Unsuccessfully
  出现这个错误原因好象是跟MYSQL数据库版本不对应有关,就是兼容性问题。本地的版本和服务器上的不一致的报错。
 
  错误位置为“USINGBTREE)ENGINE=MyISAMDEFAULTCHARSET=gbk;”
 
  表名为dede_purview,为了快速解决问题,删除了“USINGBTREE”,导入成功。
 
  也可用SQL执行下例语句即可:
 
CREATE TABLE `dede_purview` ( o l e o u.com

  `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=gbk;
 
  后经搜索“USINGBTREE”,
 
  发现这是MYSQL5.1的一个BUG,其出现原因是mysql5.1和mysql5.0在处理到索引语句时有所区别,
 
  出现了不兼容的情况,在Mysql5.1中建有UNIQUEKEY的表导出时是这个样子的“KEY`pkey`(`pkey`)USINGBTREE”,
 
  而Mysql5.0处理的时候只能识别“KEY`pkey`USINGBTREE(`pkey`)”。因此需要改一下Key的位置。
 
  网上还有解决方法是先把UNIQUEKEY改成普通索引,导好后再改回来,这种解决办法适用于建有UNIQUEKEY的表较多的情况。

TAGS:

打赏 点赞
邮箱
验证码
昵称