节点mysql插入到多对多表
我使用nodejs解析一个csv文件,并将其信息保存在mysql中。我正在尝试向多对多表插入数据,但希望将id插入到数据库中,以便在另一个查询中使用节点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
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
});