相关疑难解决方法(0)

具有pg-promise的多行插入

我想用一个INSERT查询插入多行,例如:

INSERT INTO tmp(col_a,col_b) VALUES('a1','b1'),('a2','b2')...
Run Code Online (Sandbox Code Playgroud)

有没有办法轻松地做到这一点,最好是这样的对象数组:

[{col_a:'a1',col_b:'b1'},{col_a:'a2',col_b:'b2'}]
Run Code Online (Sandbox Code Playgroud)

我可能最终在一个块中有500条记录,因此运行多个查询是不可取的.

到目前为止,我只能为一个对象做到这一点:

INSERT INTO tmp(col_a,col_b) VALUES(${col_a},${col_b})
Run Code Online (Sandbox Code Playgroud)

作为一个附带问题:使用${}符号的插入是否可以防止SQL注入?

postgresql node.js pg-promise

28
推荐指数
1
解决办法
2万
查看次数

使用brianc/node-postgres批量插入Postgres

我在nodejs中使用以下代码使用pg(https://github.com/brianc/node-postgres)我的代码为员工创建订阅就是这样.

    client.query(
      'INSERT INTO subscriptions (subscription_guid, employer_guid, employee_guid) 
       values ($1,$2,$3)', [
        datasetArr[0].subscription_guid,
        datasetArr[0].employer_guid,
        datasetArr[0].employee_guid
      ],


      function(err, result) {
        done();

        if (err) {
          set_response(500, err, res);
          logger.error('error running query', err);
          return console.error('error running query', err);
        }

        logger.info('subscription with created');
        set_response(201);

      });
Run Code Online (Sandbox Code Playgroud)

您已经注意到datasetArr是一个数组.我想一次为多个员工创建大量订阅.但是我不想循环遍历数组.有没有办法用pg开箱即用?

postgresql node.js node-postgres

5
推荐指数
2
解决办法
5154
查看次数

标签 统计

node.js ×2

postgresql ×2

node-postgres ×1

pg-promise ×1