08 2015年10月

mysql低版本导入高版本数据时出现USING BTREE错误的解决

发布于:17时21分 | 来源:湛蓝天空  |   编辑:湛蓝  |   日志分类:SQL  |   已聚集:人围观

提示USING BTREE错误

mysql导入数据时提示USING BTREE错误,原因是mysql 5.14版本之前不认识USING BTREE,从低版本导入mysql 5.14及以上版本时,sql执行到这一段就会出错。

--
-- 表的结构 `pre_dzapp_love_visitor`
--
 
CREATE TABLE IF NOT EXISTS `pre_dzapp_love_visitor` (
  `uid` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `username` varchar(15) NOT NULL DEFAULT '',
  `vuid` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `vusername` char(15) NOT NULL DEFAULT '',
  `dateline` int(10) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`uid`,`vuid`),
  KEY `vuid` (`vuid`) USING BTREE,
  KEY `dateline` (`dateline`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=gbk;

其实解决这个问题很简单,可以改成(把USING BTREE放到索引字段前面即可):

--
-- 表的结构 `pre_dzapp_love_visitor`
--
 
CREATE TABLE IF NOT EXISTS `pre_dzapp_love_visitor` (
  `uid` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `username` varchar(15) NOT NULL DEFAULT '',
  `vuid` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `vusername` char(15) NOT NULL DEFAULT '',
  `dateline` int(10) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`uid`,`vuid`),
  KEY `vuid` USING BTREE (`vuid`),
  KEY `dateline` USING BTREE  (`dateline`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;

或者直接删掉:

KEY `vuid` (`vuid`) USING BTREE
KEY `dateline` (`dateline`) USING BTREE

再次导入顺利通过了。

除非注明,均为湛蓝天空原创,转载请注明本文网址:http://skyhome.cn/sql/504.html

标签:USING BTREE(1)
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)