2012-01-26 63 views
1

获得刚刚添加的行的最佳方式是什么?我正在使用Heroku,Node和Postgres以及Expressjs。我希望能够做到这样的事情。获取刚刚添加的行的最佳方法。 Heroku + Node + Postgres

app.post('/', function(req, res){ 
     client.query("INSERT into ..", function(err, result){ 
      res.send(result.id); 
     }); 
}); 

理想的回调将有关于该行的信息,它只是在进入,但它只是一个对象,看起来像

{ rows:[] } 

内容有没有得到该行的一个好办法,我刚刚添加,谢谢。

回答

4

你可能想使用INSERT ... RETURNING

可选RETURNING子句使INSERT来计算,并根据每行返回值(一个或多个)实际上插入。这主要用于获取默认值提供的值,例如序列号。但是,允许使用表格列的任何表达式。 RETURNING列表的语法与SELECT的输出列表的语法相同。

因此,像这样:

client.query('insert into your_table (...) values (...) returning *', function(err, result) { 
    // ... 
}); 

应该让你在你的回调函数中新插入的行。

相关问题