我试图使用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操作.
根据那里的文档,有可能联合查询,但文档中的示例只讨论选择查询.
我讨厌回答我自己的问题,但我找到了解决方案.
我想念红色的文档.可以通过在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)
| 归档时间: |
|
| 查看次数: |
2125 次 |
| 最近记录: |