节点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 });