我正在使用nodejs来解析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;
});
答案 0 :(得分:1)
如果您使用node-mysql,则只需获取插入的ID(see 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;
});
});
答案 1 :(得分:0)
我建议使用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
});