Nodejs mysql查询没有执行

Vin*_*ent 2 mysql node.js

我试图使用node.js来创建一个mysql数据库和表.

我想要执行的查询是:

CREATE DATABASE NodeTest;USE NodeTest;CREATE TABLE tblUsers (userId varchar(32), userName varchar(255), friendlyUserName varchar(255));
Run Code Online (Sandbox Code Playgroud)

所以我一次执行更多查询.在MySqlWorkbench中,这工作正常.

在我的nodejs项目中,它说我的sql语句中存在语法错误.

我的节点代码:

    mysqlConnection.query( 'CREATE DATABASE NodeTest;USE NodeTest;CREATE TABLE tblUsers (userId varchar(32), userName varchar(255), friendlyUserName varchar(255));' , function( oError ){

        if ( oError )  throw oError;

        console.log( 'Database created.' );
    });

Run Code Online (Sandbox Code Playgroud)

为什么我不能在节点js中以这种方式使用我的查询,但语法在MySql工作台中工作正常?我错过了什么吗?

边注:

我使用node-mysql(https://github.com/felixge/node-mysql)进行我的mysql操作.

根据那里的文档,有可能联合查询,但文档中的示例只讨论选择查询.

Vin*_*ent 6

我讨厌回答我自己的问题,但我找到了解决方案.

我想念红色的文档.可以通过在createConnection()函数中设置选项{multipleStatements:true}来实现.

所以它就像:

mysqlConnection = mysql.createConnection({
    host: settings.mysqlServer,
    user: settings.mysqlUser,
    password: settings.mysqlPassword,
    multipleStatements: true
});

mysqlConnection.query( 'CREATE DATABASE NodeTest;USE NodeTest;CREATE TABLE tblUsers (userId varchar(32), userName varchar(255), friendlyUserName varchar(255));' , function( oError ){

    if ( oError )  throw oError;

    console.log( 'Database created.' );
});
Run Code Online (Sandbox Code Playgroud)