从刚插入的行检索数据(MySql和Node.js)

如果我有一个像这样的查询:

var queryString = "INSERT INTO pid SET title = '" + randomTitle + "', poc = '" + random + "';" connection.query(queryString, function(err, rows, fields) { ...(do something here) }); 

,有没有一种方法,我可以检索刚刚插入的行的信息,而不执行新的查询(在我的具体情况下,我想要自动生成的主键值)。

例如,我可以使用“查询”对象(下面)的构造,然后可能使用其中一个query.oncallback来检索刚刚插入的行的信息?

 var query = connection.query(queryString, function(err, rows, fields) { query.on('fields', function(fields) { ... get the field information? }); query.on('result', function(row) { .. get the field information? }); }); 

如果不是通过查询callback,有没有另一种方式? 谢谢你的回应!

根据文件是可以的。 注意插入查询的callback函数没有rowsfields ,只有result参数:

 connection.query(queryString, function(err, result) { if (err) { // handle error } console.log(result.insertId); // prints inserted id } 

你的查询也容易sql注入。 它应该是这样的:

 var queryString = "INSERT INTO pid SET title = ?, poc = ?"; connection.query(queryString, [randomTitle, random], function(err, result) { // ... }