【问题标题】:nodejs How to execute a mysql query with 2 statementsnodejs如何使用2条语句执行mysql查询
【发布时间】:2014-09-25 17:00:27
【问题描述】:

我想在节点 js 中执行 2 个 mysql 语句和一个查询。但是,这失败并出现错误:

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

我的节点命令和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引起的。

如何在node js中用一个查询执行这两条语句?

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

【问题讨论】:

    标签: mysql sql node.js


    【解决方案1】:

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

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

    查看docs 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-01
      • 2017-01-11
      相关资源
      最近更新 更多