2017-05-05 81 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 –