mysql 5.1 到 mysql 5.2的出现的索引BTREE问题 use near 'USING BTREE
转自:http://hi.baidu.com/our_poll/item/669c5ce885b33ff1e0a5d4fc
我本机测试是安装的 mysql 5.1 , 但服务器上确是使用的 mysql 5.0 , 平时没发现差别, 今天从本地数据库5.1到入到5.0时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,
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://bugs.mysql.com/bug.php?id=25162
mysql 5.1 到 mysql 5.2的出现的索引BTREE问题 use near 'USING BTREE的更多相关文章
- mysql交互协议解析——mysql包基础数据、mysql包基本格式
mysql交互协议是开发mysql周边组件常用的协议,如JDBC,libmysql等等. 在此我们要认识到mysql交互协议其实是半双工的交互协议,至于为什么,这里就先挖个小坑,以后再填. 在探讨my ...
- [MySQL Reference Manual] 24 MySQL sys框架
24 MySQL sys框架 24 MySQL sys框架 24.1 sys框架的前提条件 24.2 使用sys框架 24.3 sys框架进度报告 24.4 sys框架的对象 24.4.1所有sys下 ...
- MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...
- Mac OS 下 mysql 找不到 mysql.sock 的问题
mysql.sock 无法找到一般存在两种问题,一是mysql服务未启动,mysql.sock没有生成,二是mysql.sock的指向位置出错,在指向位置加个mysql.sock的软链接就可以解决. ...
- mysql命令行以及mysql workbence查询结果中文乱码的解决方法
最近正在学习mysql,安装环境是windows server 2003 32位操作系统+mysql 5.1.47同时也安装了mysql命令行以及mysql workbench这里是test数据库cr ...
- [MySQL] SqlServer 迁移到 MySQL 方法介绍
一.原则: 只迁移表结构和数据,存储过程.函数.触发器尽量自己改写,并充分测试. 迁移前,先设置好数据库的一些参数,比如默认存储引擎,默认编码等,方便后续导入. 二.方法: 1.使用MySQL Wor ...
- MySQL安装之后没有MySQL数据库的原因
mysql安装完之后,登陆后发现只有两个数据库:mysql> show databases;+--------------------+| Database |+------ ...
- 《高可用MySQL》2 – 单机版MySQL主从配置
这里搭建的主从是最简单的单一主从复制(即一个Master和一个slave,没有任何的热机备份和多slave),该主从结构的基本拓扑图如下所示: 建立基本的主从复制可以总结为以下三个基本步骤: 配置ma ...
- [MySQL Reference Manual] 5 MySQL 服务管理
5. MySQL 服务管理 5. MySQL 服务管理 5.1 The Mysql Server 5.2 Mysql 服务日志 5.2.1 选择General query log和slow query ...
- [MySQL Reference Manual] 4 MYSQL Program
4 MYSQL Program 目录 4 MYSQL Program 4.3 MySQL Server和Server启动程序 4.3.1 mysqld 4.3.2 mysqld_safe 4.3.3 ...
随机推荐
- android 滑动菜单SlidingMenu的实现
首先我们看下面视图: 这种效果大家都不陌生,网上好多都说是仿人人网的,估计人家牛逼出来的早吧,我也参考了一一些例子,实现起来有三种方法,我下面简单介绍下: 方法一:其实就是对Gesture ...
- Android ViewPager欢迎页+引导页+进入首页
import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences ...
- SPOJ DISUBSTR Distinct Substrings 后缀数组
题意:统计母串中包含多少不同的子串 然后这是09年论文<后缀数组——处理字符串的有力工具>中有介绍 公式如下: 原理就是加上新的,减去重的,这题是因为打多校才补的,只能说我是个垃圾 #in ...
- 《Python核心编程》 第八章 条件和循环
8–1.条件语句. 请看下边的代码 # statement A if x > 0: # statement B pass elif x < 0: # statement C pass el ...
- <译>Selenium Python Bindings 5 - Waits
如今,大多数的Web应用程序使用AJAX技术.当页面加载到浏览器,页面中的元素也许在不同的时间间隔内加载.这使得元素很难定位,如果在DOM中的元素没有呈现,它将抛出ElementNotVisibleE ...
- DbHelper第三版, 数据库通吃
using System;using System.Collections;using System.Data;using System.Data.Common;using System.Config ...
- Dictionary<实体,List<实体>>的比较
当Dictionary中Key为实体时,进行用ContainsKey比较会发现,就算Model为一样但是结果比较为不存在: 故用以下代码即可,现将Keys转换ToArray(),再用数组的Contai ...
- 一起刷LeetCode1-Two Sum
感觉有必要重新刷刷题了,为以后找工作做做准备,选择LeetCode+topcoder上的Data Science Tutorials, 争取每天晚上10:00开始刷一道,复习一下相关知识点. ---- ...
- C++ 我想这样用(六)
嗯,上一篇已经介绍了面向过程编程的语法知识,接下来是最后的也是最重要的一个部分: 第三部分:基于对象的编程风格 1.构造函数的两种写法 比如我们有如下的类定义: class Circle { publ ...
- 为Hadoop配置Win8.1授时服务器
启动Windows服务,顺序如下: SSTPS(secure socket tunneling protocol service)服务 Telephony服务 Remote Access Connec ...