node-postgres 一条语句更新多条数据
🌙
手机阅读
本文目录结构
单条更新到是
UPDATE accounts SET balance=$2,count=$3 WHERE account=$1
但是这条语句在 commit 这种批量提交的时候就非常尴尬了;
批量提交的可以看 commit使用教程 ,这种方式在性能方面会比较好
代码如下
let batchUpdateSql=`
update
transaction
set
is_free=tmp.is_free ,
is_stable=tmp.is_stable ,
is_fork=tmp.is_fork ,
is_invalid=tmp.is_invalid ,
is_fail=tmp.is_fail ,
is_on_mc=tmp.is_on_mc
from
(values " +
"('B5956299E1BC73B23A56D4CC1C58D42F2D494808FBDEE073259B48F571CCE97C',false,false,false,false,false,false)," +
"('5F2B6FA741A33CDD506C5E150E37FCC73842082B24948A7159DFEB4C07500A08',false,false,false,false,false,false)" +
")
as tmp
(hash,is_free,is_stable,is_fork,is_invalid,is_fail,is_on_mc)
where
transaction.hash = tmp.hash
`;
pgclient.query(batchUpdateSql, (res) => {
//ROLLBACK
console.log(res);
});