节点mysql插入到许多表中

我使用nodejsparsing一个csv文件,并将其保存在MySQL中的信息。 我试图插入数据到多对多的表,但希望ID插入到数据库中用于anohter查询?

con.query("INSERT INTO TransactionDescription SET ? ON DUPLICATE KEY UPDATE Description= VALUES(Description)", trandesc, function(err, res) { if (err) throw err; }); 

我可以返回生成的ID,所以我可以在这个查询中使用它们吗?

  con.query("INSERT INTO Transaction SET ? ", tran, function(err, res) { if (err) throw err; }); 

如果你正在使用node-mysql ,你可以简单地得到像这样插入的id( 参见doc ):

 con.query("INSERT INTO TransactionDescription SET ? ON DUPLICATE KEY UPDATE Description= VALUES(Description)", trandesc, function(err, res) { if (err) throw err; // res.insertId from above query as second query parameter con.query("INSERT INTO Transaction SET ? ", res.insertId, function(err, res) { if (err) throw err; }); }); 

我build议使用knex.js ,这可以简化很多编写查询的工作。 也很容易让你访问生成的ID,例如

 knex.insert({ first_name: firstName, last_name: lastName, email: email, phone_number: phoneNumber }) .returning('id') .into('person') .then(function (id) { // use id here });