节点mysql插入到多对多表

节点mysql插入到多对多表,mysql,sql,node.js,Mysql,Sql,Node.js,我使用nodejs解析一个csv文件,并将其信息保存在mysql中。我正在尝试向多对多表插入数据,但希望将id插入到数据库中,以便在另一个查询中使用 con.query("INSERT INTO TransactionDescription SET ? ON DUPLICATE KEY UPDATE Description= VALUES(Description)", trandesc, function(err, res) { if (e

我使用nodejs解析一个csv文件,并将其信息保存在mysql中。我正在尝试向多对多表插入数据,但希望将id插入到数据库中,以便在另一个查询中使用

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;
                        });
如果您正在使用,只需获得插入的id,如下所示():

我建议使用它来简化查询的编写。此外,它还允许您轻松访问生成的id,例如

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

请注意,
transaction
对于表来说不是一个很好的名称,因为它是一个保留关键字。别忘了
LOAD DATA infle
可以直接处理CSV数据,速度非常快。它可能会存储在回调的
res
对象中。您是否有
console.log(res)
查看其中包含的内容?另外,了解
con
对象是什么也很有用,它是节点mysql吗?或和其他模块的实例。@AtlasRoom con是节点mysq中的连接对象,yes res返回所有插入的id,但我想在另一个查询中使用这些插入的id。我的问题是插入是不同事件的一部分
knex.insert({
  first_name: firstName,
  last_name: lastName,
  email: email,
  phone_number: phoneNumber
})
.returning('id')
.into('person')
.then(function (id) {
  // use id here
});