node-postgres:一次更新多条记录

时间:2016-07-28 12:18:42

标签: javascript node.js postgresql node-postgres

我正在使用node-postgres在node.js中构建一个应用程序。我不知道如何一次更新多个记录。
这是我的代码:

var status = 20;
var id = [23,12,43];

pool.connect(function(err, client, done) 

{


if(err) 
{
      done();
      console.log(err);
      return res.status(500).send(json({ success: false, data: err}));
}
    client.query("UPDATE myDatabase SET status=($1) WHERE id IN($2);", [status,id]);

但我遇到了问题 - 控制台:

  

events.js:160         扔掉//未处理的'错误'事件         ^

     

错误:整数的输入语法无效:“23,12,43”

在这种情况下我该怎么办?什么样的数据使用? var id的长度每次都不一样。

问候,拉法朗 编辑:我认为数据的更改将在javascript中工作,输入必须是23,12,43,而是[23,12,43],但我不知道如何制作。

1 个答案:

答案 0 :(得分:1)

您似乎想要使用ANY

client.query("UPDATE myDatabase SET status=($1) WHERE id = ANY($2);", [status,id]);

这是由于Postgresql本身,而不是库:见thisthis

另请参阅此问题:Oracle: '= ANY()' vs. 'IN ()'