如何使用node-postgres插入多行?

这是我的陈述:

INSERT INTO userpermissions (username, permission) VALUES ($1, $2),($3,$4) RETURNING *; 

这是我的代码:

 db.query(stmt2,values2, (err2, result2) => { //Do other stuff depending on if there is an error or result } 

其中stmt2是上面的语句,而values2是我创build的数组:

  var values2 = []; for(i=0;i<permissions.length;i++){ values2.push(username); values2.push(permissions[i]); } 

有一些错误/致命的exception,但我不能看到它,因为错误的域被包装。

SQL:

 f=# create table tt(i int,t text); CREATE TABLE f=# grant all on tt to t; GRANT 

JS:

 const { Pool, Client } = require('pg') const client = new Client({ user: 't', host: '10.10.10.10', database: 'f', password: 't', port: 5432 }) client.connect() client.query('INSERT INTO tt(i, t) VALUES($1, $2),($3,$4) RETURNING *', ['1', 'SO',2,'sO'], (err, res) => { console.log(err, res) client.end() }) 

跑:

 C:\Users\Vao\vatest>node t.js null Result { command: 'INSERT', rowCount: 2, oid: 0, rows: [ anonymous { i: 1, t: 'SO' }, anonymous { i: 2, t: 'sO' } ], fields: [ Field { name: 'i', tableID: 131471390, columnID: 1, dataTypeID: 23, dataTypeSize: 4, dataTypeModifier: -1, format: 'text' }, Field { name: 't', tableID: 131471390, columnID: 2, dataTypeID: 25, dataTypeSize: -1, dataTypeModifier: -1, format: 'text' } ], _parsers: [ [Function: parseInteger], [Function: noParse] ], RowCtor: [Function: anonymous], rowAsArray: false, _getTypeParser: [Function: bound ] } 

最后检查:

 f=# select * from tt; i | t ---+---- 1 | SO 2 | sO (2 rows)