博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 5.1 到 mysql 5.2的出现的索引BTREE问题 use near 'USING BTREE
阅读量:5863 次
发布时间:2019-06-19

本文共 862 字,大约阅读时间需要 2 分钟。

转自:http://hi.baidu.com/our_poll/item/669c5ce885b33ff1e0a5d4fc

我本机测试是安装的 mysql 5.1 , 但服务器上确是使用的 mysql 5.0 , 平时没发现差别, 今天从本地数据库5.1到入到5.0时sql 文件导入导出时发现了错误,

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,KEY `CategoryID` (`GlobalDisplayOrder`) USING BTREE,KEY `Gl' at line 15

后来分析发现,导入时在没有建 UNIQUE KEY 的表是能导入成功的,建了UNIQUE KEY 的表导入时就会出现上面这样的错误,仔细对比了下SQL发现原来是mysql 5.1和mysql 5.0一点小小差别.主要是在处理到索引语句时出现了不兼容的情况, 比如下面语句是在 mysql 5.1 导出的:

KEY `index_2` (`CategoryID`) USING BTREE

如果想导入到 mysql 5.0 则调整 USING BTREE 这类指定索引类型语句的位置到中间, 为:

KEY `index_2` USING BTREE (`CategoryID`)

而在没有UNIQUE KEY 的表时,导出是是没有USING BTREE这样定义说明的;

知道原因解决方法就很多了,如:可以,先把UNIQUE KEY 改成普通索引,导好后再改回来,用这个方法时要注意的是,改索引类型时最好把索引名也改下,不然,有缓存,只改下索引类型导时还是会出错,改索引名是,就会重建,再导就OK了!

后来发现myql官方上也有这样的bugs问题说明!大家可以查看更多详情

转载地址:http://kaunx.baihongyu.com/

你可能感兴趣的文章
js 从数组中随机获取一个值
查看>>
css - 紧贴底部的页脚
查看>>
Html - 对话箭头
查看>>
学习笔记——责任链模式
查看>>
Ubuntu安装VMware Tools
查看>>
Codeforce914B (Conan and Agasa play a Card Game)
查看>>
手机前端开发调试利器 – vConsole
查看>>
【Unity】3.0 第3章 创建和导入3D模型
查看>>
MySQL案例08:MySQL Scheduler Events带来的风险
查看>>
Flexigrid使用说明
查看>>
仿新浪右下角视频弹窗(视频弹出广告)播放器
查看>>
Java打印九九乘法表
查看>>
Linux服务器安装redis数据库教程
查看>>
【转载】VS工具使用——代码图
查看>>
常见证书格式和转换
查看>>
我希望自己尽早知道的 7 个 JavaScript 怪癖(转载oschina)
查看>>
Netstat
查看>>
nginx中图片无法显示
查看>>
网页全屏和屏蔽按下的特殊键
查看>>
.net MVC4 来一个简单的分页代码
查看>>