您的位置 首页 站长运营

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

春哥昨天在帮客户迁移数据的过程中,在导入数据的时候发生了一个You have an error in your SQL syntax的错误,相信这个错误大家应该是经常遇到的,那么春…

导入数据库发生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;

春哥就直接开门见山的说了,具体是因为:数据库版本问题,从MySQL5.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,好了春哥教程到此结束。

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/48694.html

为您推荐

返回顶部