获得刚刚添加的行的最佳方法。 Heroku + Node + Postgres
获得刚刚添加的行的最佳方法是什么?我正在使用Heroku,Node和Postgres以及Expressjs。 我希望能够做到这样的事情。
app.post( '/', function( req, res ){ client.query("INSERT into ..", function( err, result ){ res.send( result.id ); }); });
理想情况下,callback将包含刚刚input的行的信息,但其内容只是一个对象
{ rows:[] }
有没有一个很好的方法来获得我刚添加的那一行,谢谢。
你可能想要使用INSERT ... RETURNING
:
可选的
RETURNING
子句会导致INSERT
根据实际插入的每一行计算并返回值。 这主要用于获取默认提供的值,例如序列号。 但是,允许使用表格列的任何expression式。RETURNING
列表的语法与SELECT的输出列表的语法相同。
所以像这样的东西:
client.query('insert into your_table (...) values (...) returning *', function(err, result) { // ... });
应该让你在你的callback函数中新插入的行。