如何在Node.js中的一行中执行多个mysql查询

时间:2018-01-10 07:06:14

标签: mysql sql node.js

我正在尝试使用来自客户端的一个请求从多个表中获取结果。我首先尝试了JOIN,但这意味着我必须有多行包含重复信息。然后我决定分别对每个表做一个不同的查询,虽然我不知道这是多么划算。

我应该如何构造查询以便Node.js接受它?如果我不使用引号来包装整个查询,我现在尝试使用的那个不起作用,但是如果我使用它们就会抱怨我的查询有错误。

以下是查询的代码。

sql = "'SELECT * from `Ilmoittautuminen` WHERE `optunnus` LIKE ' + mysql.escape(reg.body.optunnus); 'SELECT * from `Jasenmaksu` WHERE `optunnus` LIKE ' + mysql.escape(reg.body.optunnus); 'SELECT * from `OppOikeus` WHERE `optunnus` LIKE ' + mysql.escape(reg.body.optunnus);"
console.log(sql);
connection.query(sql, function(err, rows){
    console.log(rows)
    if(err){
        console.log(err)
        res.json({
            success: false,
            message: err,
        });
    }else{
         queryResponse(res, rows);
    }
});

1 个答案:

答案 0 :(得分:0)

参考https://github.com/mysqljs/mysql 在您的连接参数中传递 multipleStatements:true 并尝试使用exmaple

conn.query(`
SELECT * FROM posts limit 1;
SELECT * FROM Users limit 1;
`, (err, results)=>{
   console.log(err, results)
});