2017-05-05 83 views
0

我正在使用nodeJS和mysql在我的数据库中插入几行。这里是我的代码:插入多行时获取最后一个ID

connection.query('INSERT INTO trainings (file_id, selection_start, selection_end, label_id) VALUES ?', [toInsert], function(err, results){ 
... 
    } 

正如你所看到的,我一次插入几行。如果我的表在autoIncrement中,如何获得所有插入的ID?

results.insertId只返回一个ID(而不是全部)

对我怎么能解决这个问题的任何想法?

+0

如果回答正确,你应该投了它 –

回答

1

放results.insertId值到一个数组

var lastIds = []; 
/* you insert data method callback with model */ 
model.insertDataRow(request.body,function(err,results){ 
    lastIds.push(results.insertId) 

}) 
+0

我可能是错的,但它不是在同一时间做所有的插件(我怎么能知道所有的行已被插入?)。我的回调函数只被调用一次(我假设所有行都被插入) – Vico

+0

like: connection.query('INSERT INTO posts SET?',{title:'test'},function(err,result) (err)throw err; console.log(result.insertId); }); 把result.insetId放到数组中,并返回获取...希望它可能是工作。 参考: https://github.com/felixge/node-mysql/#getting-the-id-of-an-inserted-row –