Node.js中的MySQL批量插入 - 如何获取所有insertId?

时间:2017-07-13 09:08:54

标签: javascript mysql node.js

我目前正在将旧的PHP项目迁移到Node.js,现在正在使用mysqljs / mysql模块。

我必须执行批量插入 - 到目前为止这么好,它的效果很好。但我也需要所有的insertId。不幸的是,我只在回调中获得了第一个insertId。

Aussuming变量“nestedDataArray”有四个要插入的数据数组 - 所以我们应该得到4个新行。这是一个例子:

db.query({
    sql: 'INSERT INTO `table` (`field1`, `field2`, `field3`) VALUES ?;',
    timeout: 5000,
    values: [ nestedDataArray ] // This works as intended.
}, function(error, result){
    if (error) {
        // ... handle error
    } else {
        var id = result.insertId; // Here I get only the first one. What about the other three inserts?

        db.query( /* Yes, there are nestes queries. */ );
    }
});

在for循环中移动db.query不起作用,因为在我的“真实”代码中,我必须嵌套多个查询,这些查询依赖于先前执行的查询的查询。

是否可以从批量插入中获取所有insertId?

提前谢谢!

0 个答案:

没有答案