首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用BTREE时出现MySQL错误

使用BTREE时出现MySQL错误
EN

Stack Overflow用户
提问于 2010-09-22 17:06:39
回答 6查看 23.8K关注 0票数 19

我有一个mysql数据库,我已经从我的在线服务器上下载,并试图导入到我的本地mysql,但它不工作,显示此语法错误。我在此查询中找不到任何错误

这是错误:

SQL1064-您的

语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,了解在第27行使用near 'USING BTREE,KEY idx_p_id (p_id) USING BTREE,KEY‘时的正确语法

我的问题是:

代码语言:javascript
复制
  PRIMARY KEY (`a_id`),
  UNIQUE KEY `idx_a_id` (`a_id`) USING BTREE,
  KEY `idx_p_id` (`p_id`) USING BTREE,
  KEY `idx_m_id` (`m_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-09-22 17:16:39

您的mysql服务器版本较旧,与创建转储的版本不兼容。尝试升级mysql服务器或使用mysqldump的--compatible选项导出转储。

您可能需要以下代码:

代码语言:javascript
复制
mysqldump --compatible=mysql40 ...

您还可以选择将转储文件导入到较新的服务器,您可以在本地创建该服务器,然后使用comopatible选项将其重新导出。

我也见过人们在mysql转储文件中搜索和替换内容,但这是一种丑陋的方法,但如果您有这种不兼容性,可能会对您起作用。

如果你想让别人帮你,你也可以稍微格式化你的文本,然后接受一些答案。

票数 26
EN

Stack Overflow用户

发布于 2012-05-08 20:53:21

在我使用的版本(5.0.51a)中,USING BTREE 支持。但是,语法略有不同:至少在CREATE TABLE语句中,USING BTREE部分必须在索引名和它的列之间;

使用BTREE的

索引ind (col1,col2)

尽管5.0手册说index_type可以出现在列定义之前或之后,但不接受后者。

我不能对5.1版本中的行为说任何话。

票数 6
EN

Stack Overflow用户

发布于 2011-07-08 17:23:09

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3767753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档