我有一个mysql数据库,我从我的在线服务器下载并尝试导入我的本地mysql但它无法正常显示此语法错误.我在这个查询中找不到任何错误
这是错误:
1064 - 您的SQL语法出错; 检查与MySQL服务器版本对应的手册,以便在第27行使用'USING BTREE,KEY
idx_p_id(p_id)USING BTREE,KEY' 附近使用正确的语法
这是我的疑问:
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;
Run Code Online (Sandbox Code Playgroud)
The*_*can 26
您的mysql服务器版本较旧,与创建转储的版本不兼容.尝试使用--compatiblemysqldump选项升级mysql服务器或导出转储.
你可能需要这个:
mysqldump --compatible=mysql40 ...
Run Code Online (Sandbox Code Playgroud)
您还可以选择将转储导入到可以在本地创建的较新服务器,并使用comopatible选项在那里重新导出.
我也看到人们搜索和替换他们的mysql转储文件中的东西,但这是一个丑陋的方法,但如果你只有这种不兼容性可能适合你.
如果您希望别人帮助您,还可以格式化您的文本并接受一些答案.
在我使用(5.0.51a)的版本,USING BTREE 被支持.但是,语法略有不同:至少在CREATE TABLE语句中,该USING BTREE部分必须位于索引名称和其列之间; 例如
INDEX ind使用BTREE(col1,col2)
尽管5.0手册说明index_type可能在列定义之前或之后,但后者不被接受.
我不能说5.1版本中的行为.
| 归档时间: |
|
| 查看次数: |
22631 次 |
| 最近记录: |