我目前正在将旧的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?
提前谢谢!