`
hyshucom
  • 浏览: 810813 次
文章分类
社区版块
存档分类
最新评论

Mysql备份还原的一个bug----备份文件中索引的语法格式不对

 
阅读更多

从mysql备份出来的sql文件进行还原操作时报错,查看错误日志,内容如下:

Error Code: 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=InnoDB AUTO_INCREMENT=50913 DEFAULT CHARSET=gbk' at line 21

原因如下:

导出文件中的源码:

PRIMARY KEY (`row_id`) USING BTREE,
UNIQUE KEY `columnAindex` (`columnA`),
KEY `columnBindex` (`columnB`) USING HASH,
KEY `columnCindex` (`columnC`) USING BTREE,
...

正确的写法:

PRIMARY KEY USING BTREE (`row_id`),
UNIQUE KEY `columnAindex` (`columnA`),
KEY `columnBindex` USING HASH (`columnB`),
KEY `columnCindex` USING BTREE (`columnC`),
...

将导出文件中的所有索引类型(USING BTREE等)挪到索引列(columnB等)的前面,就能够正常完成导入操作。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics