使用pg-promise和node.js进行参数化查询的语法问题

时间:2018-10-24 19:09:12

标签: node.js postgresql pg-promise

我一直在使用nodejs和pg-promise进行项目。不太清楚如何实现参数化查询。我的代码如下:

 // let's say we have an array
 var hex = new Array;
 hex = [[0, 1, 2, 'string1', 3, 'string2'],[4, 5, 6, 'string3', 7, 'string4']];
 //lets assume db is initialized with correct parameters and we have a for loop
 for (var i=0; i<hex.length; i++){
    db.tx(t => {
       return t.batch([
           t.none('INSERT INTO x (lat, long, name) VALUES ($1[$2][0], $1[$2][1],
                  $1[$2][4];)',[hex,i]),
           t.none('DELETE FROM x WHERE name='y'; ')];
   )}
   .then(data => {})
   .catch(error => {
          console.log('ERROR:', error);
   });
   )
}

我的猜测是我没有使用正确的语法进行编码,尤其是在

t.none('INSERT INTO x (lat, long, name) VALUES ($1[$2][0], $1[$2][1], $1[$2][4];)',[hex,i]

我已经阅读了Vitaly文档中传递数组和参数函数之间的区别。但是由于我猜我俩都需要,所以无法将它们合并在一起。

我在这里做错了什么?

编辑:顺便说一句,我在'['附近收到语法错误。

谢谢!

0 个答案:

没有答案