程序员人生 网站导航

USING BTREE引起的MySQL导入错误

栏目:MySql时间:2014-04-17 07:59:54

最近一个项目中使用的使用mysql导入sql脚本时间出现错误

MySQL导入脚本命令

mysql -u username -p dbname  < dbsql.sql

几次尝试没有成功,由于对Linux下命令行不是很熟悉,尝试使用phpMyAdmin来救急吧,安装完后运行SQL脚本出现以下错误:

ENGINE=InnoDB AUTO_INCREMENT=72 DEFAULT CHARSET=utf8′ at line 11

问Google后以为是版本中默认语言样式不一样导致的错误,于是把代码改为了

ENGINE=InnoDB  COLLATE=’utf8_general_ci’

phpMyAdmin运行SQL后仍然出错误,不过这次SQL运行到一个表的Create Table位置退出的,再对比这个表SQL与其它表SQL发现了 USING BTREE,这时我的反应是十有八九是它导致的了。于是把这个表前后的SQL分别运行,没错!!这也证明了之前的想法。接下来就容易办了,查找 USING BTREE mysql,你会看到很多这样的例子,mysql 5.14版本之前不认识 USING BTREE。解决办法有两个:

1、直接删除 USING BTREE

2、导出脚本时开启兼容性 mysqldump –compatible=mysql40

以下几个关于USING BTREE 的链接

USING BTREE mysql

http://stackoverflow.com/questions/3767753/mysql-error-using-btree

关于USING BTREE Bug http://bugs.mysql.com/bug.php?id=25162

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐