请对我温柔一点,我是 node js 的新手。我在 for 循环中运行两个查询,将值插入到两个名为 orders 和 requests 的表中。在插入订单表后,我将 insertId 传递给变量 orderid,然后将其添加到我的第二个插入查询中。所有这些工作正常,完成后我想查询一个名为 invoice 的视图,以便我可以获得一些我刚刚放入数据库的信息。问题是它甚至在完成两个查询之前就从视图返回结果,因此我得到一个空响应。这是我的代码。
for(var i = 0; i<items.length; i++){
connection.query('INSERT INTO orders(referenceid,itemid,quantity,dac,requestid,locationid) VALUES(?,?,?,?,?,?);',[referenceid,items[i].id,items[i].quantity,dac,requestid,locationid], function(errors,results,fields){
if(errors){ throw errors};
var orderid = results.insertId;
connection.query('INSERT INTO requests(requestid,orderid,price) VALUES(?,?,?)',[requestid,orderid,price],function(errors,results,fields){
})
})
}
connection.query('SELECT * FROM invoice WHERE requestid = ? ,[requestid],function(errors,results,fields){
})
所以任何人都可以帮助我让 SELECT 查询仅在 for 循环中的所有插入完成时运行。我的数据库是mysql。