阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      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);
      });
      
      目录
      本文目录
      目录