nodejs如何使用2个语句执行mysql查询

时间:2014-08-02 18:16:03

标签: mysql sql node.js

我想在节点js中用一个查询执行2个mysql语句。但是,这会因错误而失败:

  

ER_PARSE_ERROR:您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以获得正确的语法   在

附近使用

我的node命令和mysql查询如下所示。

connection.query( "UPDATE `table1` SET `count` = `count` + 1 WHERE `id` = ? LIMIT 1; INSERT INTO `table2` (`id`, `field1`, `datetime`, `field2`, `field3`, `field4`) VALUES     (NULL, ?, NOW(), ?, ?, 'impression');", 
    [var1, var2, var3,var4],
    function(err, rows) {
        connection.release();
        if (err != null) {
            // Do error logging
            console.log(this.sql);
            console.log(err);
        }
    });

从控制台日志中获取mysql查询语句并手动执行它完全正常。因此问题必须由节点mysql引起。

如何在节点js中使用一个查询执行这两个语句?

谢谢,我非常感谢您的专业知识!

1 个答案:

答案 0 :(得分:3)

node-mysql中,默认情况下禁用对多个查询的支持。要启用它,请在创建连接时执行此操作:

var connection = mysql.createConnection({multipleStatements: true});

请查看docs了解详情。