gpt4 book ai didi

node.js - pg-promise 更新行数

转载 作者:搜寻专家 更新时间:2023-10-31 23:29:52 25 4
gpt4 key购买 nike

我正在使用 pg-promise NodeJS 模块。在某个时候,我正在更新我的数据库表之一。我想知道查询更新了多少行,可能吗?

下面是我的部分代码:

var queryText = "UPDATE public.mytable SET whatever = $1 WHERE criteria1=$2 AND criteria2=$3;",
queryParam = [
value1,
value2,
value3
];

postgres.none(queryText, queryParam)
.then((value) => {
// how can I know at this point how many rows have been updated
resolve(result);

})
.catch(err => {
// it doesn't go here when zero row has been updated
reject(err);
});

谢谢!

最佳答案

我是 pg-promise 的作者.为了访问高级查询结果详细信息,您需要通过方法执行查询 result .在您的情况下,您将访问属性 rowCount:

db.result(query, values, r => r.rowCount)
.then(count => {
// count = number of rows affected (updated or deleted) by the query
})
.catch(error => {
});

附言您不需要在 .then 中使用 resolve(result) 或在 .catch 中使用 reject(err),作为pg-promise的所有查询方法已经返回 promise 。

更新

较新的 ES7 语法:

const {rowCount} = await db.result(query, values);

关于node.js - pg-promise 更新行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44762987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com