2016-04-25 12 views
0

node-mysqlでnode.jsを使用してクエリを実行しています。なぜmysqlがエラーを出すのですか?

var connection = mysql.createConnection(dbconfig.connection); 

connection.query('CREATE DATABASE ' + dbconfig.database); 
connection.query('USE '+ dbconfig.database); 

connection.query('drop table if exists `ANSWER`; \ 
drop table if exists `ANSWERTYPE`; \ 
drop table if exists `COURSE`; \ 
drop table if exists `COURSEINSTANCE`; \ 
drop table if exists `ENROLL`; \ 
drop table if exists `FACULTY`; \ 
drop table if exists `QUESTION`; \ 
drop table if exists `QUESTIONGROUP`; \ 
drop table if exists `SEMESTER`; \ 
drop table if exists `STUDENTS`; \ 
drop table if exists `TEACHER`; \ 
........ 

をノードがエラーを表示し続けただし:

Error: ER_PARSE_ERROR: 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 'drop table if exists `ANSWERTYPE`; drop table if exists `COURSE`; drop table if ' at line 1 

私は私のクエリは正しく、私はそれらを手動でテストしたかなり確信しているが、ここで は、私が使用していたコードです。この問題を解決するにはどうすればよいですか?ドロップテーブルの

+1

は、一度に1つの文を試してみてくださいので

drop table if exists 'ANSWER', 'ANSWERTYPE', 'COURSE', 'COURSEINSTANCE'; 

のように次の後ろに一つのテーブルを置くことができます。 ';'は人間の便宜のためで、ほとんどのデータベースコネクタでは使用されません。 – tadman

+0

あなたは、もし私が別の接続に各行を置くべきであるかどうか、より良い考えをしていますか? @tadman – abedzantout

+0

あなたのコードがうまくいくかどうかは良い考えだと思います。 – tadman

答えて

1

構文は次のとおりです。

DROP [TEMPORARY] TABLE [IF EXISTS] [/*COMMENT TO SAVE*/] 
    tbl_name [, tbl_name] ... 
    [RESTRICT | CASCADE] 

ので、あなたはその一つだけの文