mysql 5.1备份到5.0 USING BTREE

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

   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

   具体什么意思,我的也看不懂,不过这种问题还好不是第一次遇到,简单的讲,原因很简单,MYSQL数据库版本不对应。我本地的版本比较 高,5.1的把,服务器上的是5.0的。高版本导入低版本就会报错,有牛人给我建议装2个版本的MYSQL互相转换,此说法很DT,我没有采纳。好吧,简 单的说下解决办法:下文贴下我以前博客里面收集的解决办法:

  有时导入mysql会提示如下错误:

  C:\Users\liqiang>mysql -uroot -paaaaaa guangxi

  ERROR 1064 (42000) at line 486: 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,

  KEY `Reference_1_FK` (`RoleID`),

  CONSTRAINT `FK_userinfo_RoleID’ at line 11

  解决办法是打开要导入的文件在里面搜索 BTREE 找到如下内容

  KEY `columnCindex` (`columnC`) USING BTREE

  修改为

  KEY `columnCindex` USING BTREE (`columnC`),

  然后就可以顺利通过了

  下面放上某个牛人提供的解说,我不多写了。备份网站数据,转移服务器,顺手写点东西,就为了省事,凑点字数把。

  织梦V5.7GBK的系统在xampp上测试之后要导出数据库安装到演示服务器上,

  在导入的时候报错,提示版本兼容问题,错误位置为“USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=gbk;”

  表名为dede_purview,为了快速解决问题,删除了“USING BTREE”,导入成功。后经搜索“USING BTREE”,

  发现这是MYSQL 5.1的一个BUG,其出现原因是mysql 5.1和mysql 5.0在处理到索引语句时有所区别,

  出现了不兼容的情况,在Mysql 5.1中建有UNIQUE KEY 的表导出时是这个样子的“KEY `pkey` (`pkey`) USING BTREE”,

  而Mysql 5.0处理的时候只能识别“KEY `pkey` USING BTREE (`pkey`)”。因此需要改一下Key的位置。

  网上还有解决方法是先把UNIQUE KEY 改成普通索引,导好后再改回来,这种解决办法适用于建有UNIQUE KEY

posted @ 2012-06-07 16:17  天纵  阅读(246)  评论(0编辑  收藏  举报