问题与分析

在执行sql文件时发现报错如下:

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....

该错误导致有一个表创建失败,一时间很诧异。因为我所执行的sql语句是由SQLyog导出来的,怎么会有语法错误呢?因为报错里的中文字符变成了乱码,一开始以为是sql语句里的中文字符存在着编码问题,重新修改了好几遍,最后把中文字符去掉了也还是会报同样的错误。

最后百度后才知道,原来这是MySQL的一个bug:MySQL 5.1和MySQL 5.0在处理到索引语句时有所区别,我所执行的sql语句是从高版本的MySQL里导出来的。

当存在UNIQUE KEY的表导出来时,其sql如下:

UNIQUE KEY `idx_name` (`column_name`) USING BTREE

对于该语句,低版本的MySQL是不能识别的,所以就报错了。

解决方法

将高版本MySQL导出来的sql语句里的column_name调整到USING BTREE后边就行了,如下:

UNIQUE KEY `idx_name` USING BTREE (`column_name`)

参考链接

最新文章

  1. SVN 提交报错:×××文件is not under version control
  2. Linux学习笔记
  3. 复合梯形公式与Simpson公式的数值积分
  4. Android中SQLite应用详解
  5. Reflection
  6. swift 获取控件位置 大小
  7. cocos2dx中的CCLayerColor
  8. 关于null == 0?返回false的问题
  9. Haproxy安装及配置
  10. Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
  11. 2015十大顶级开源ERP系统点评
  12. Android Studio的使用(二)--Debug调试
  13. iOS视频编辑SDK
  14. js小知识-数组去重
  15. 利用 secureCRT 直接上传下载文件 (sz,rz)
  16. SimpleDateFormat的parse(String str)方法的用法
  17. socket 总结
  18. WCG distribution of byteball
  19. ElasticSearch停止启动
  20. 【转载】Multiboot规范

热门文章

  1. 基于 phantomjs 的自动化测试---(1)
  2. Factory Pattern
  3. 挂断电话demo
  4. .Net-Mongodb学习大全网址
  5. swoole异步redis安装前置条件和流程
  6. 003 - 修改Pycharm的项目文件树样式
  7. 兼容html5新标签及媒体查询引入插件
  8. AutoIt with XML: Add a child/grandchild node or remove any node
  9. mongodb replica set 配置高性能多服务器详解
  10. java 整除(/) 求余(%) 运算