全国城市切换
高朋网络工作室stu.i371.cc
全国服务热线:182-0362-1390
新闻中心
联系我们

郑州高朋网络工作室

联系人:高先生

电 话:18203621390

邮 箱:mygjp@qq.com

技术文章

导入数据库发生You have an error in your SQL syntax错误解决方

春哥昨天在帮客户迁移数据的过程中,在导入数据的时候发生了一个You have an error in your SQL syntax的错误,相信这个错误大家应该是经常遇到的,那么高朋网络工作室今天就分享一下如何解决这个问题。

具体报错:

 

#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`userid_int`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1' at line 10 

 

具体执行的sql语句:

 

CREATE TABLE IF NOT EXISTS  `cj_scenedata` (

 `dataid_bigint` BIGINT( 20 ) NOT NULL AUTO_INCREMENT ,
 `sceneid_bigint` BIGINT( 20 ) NOT NULL DEFAULT  '0',
 `pageid_bigint` BIGINT( 20 ) NOT NULL DEFAULT  '0',
 `elementid_int` INT( 11 ) DEFAULT  '0',
 `elementtitle_varchar` VARCHAR( 50 ) DEFAULT NULL ,
 `elementtype_int` INT( 11 ) NOT NULL DEFAULT  '5',
 `userid_int` INT( 11 ) NOT NULL DEFAULT  '0',
PRIMARY KEY (  `dataid_bigint` ) ,
KEY  `sceneid` (  `sceneid_bigint` ,  `userid_int` ) USING BTREE
) ENGINE = MYISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT =1;

 

春哥就直接开门见山的说了,具体是因为:数据库版本问题,从MySQL 5.1版本转移到5.0版本,高版本往低版本转移,有些SQL语法不适用的问题啦。那么这个具体的SQL到底是哪一个呢?答案即将揭晓:没错就是USING BTREE这个二货惹的祸,其实也不能怪人家了,谁叫低版本的数据库不支持USING BTREE语法呢。

具体解决方法:

查找SQL文件中所有包含”USING BTREE“的文件,把这段代码提到()前面。春哥给大家举个例子啊,比如这个应该这样修改:

KEY  `sceneid` (  `sceneid_bigint` ,  `userid_int` ) USING BTREE直接改为KEY  `sceneid`  USING BTREE(  `sceneid_bigint` ,  `userid_int` )

这样试试,直接OK,好了 教程到此结束。

你觉得这篇文章怎么样?

00
付款方式
×