【发布时间】:2016-09-15 06:12:24
【问题描述】:
我想从数组中插入表值。
var theFields =
"my_id,"+
"fruit,"+...
var theData = [
my_id,
req.body.fruit,...
]
我能做到:
client.query("INSERT INTO theTable("+ theFields +") values($1,$2,$3,$4,$5,$6,$7,$8,$9,...." +
但我想避免“$1,$2..so on”
所以,我试过了:
client.query("INSERT INTO theTable("+ theFields +") values($1::varchar[])",[theData], function(err, result) {
client.query("INSERT INTO theTable("+ theFields +") values ANY($1::varchar[])",[theData], function(err, result) {
但它们不起作用。
注意,字段的类型相同,varchar。
(另外,如果我有不同的类型,有没有办法使用我正在尝试的解决方案来实现这一点?)
【问题讨论】:
-
这是个坏主意,因为变量为字符串提供了适当的转义,同时也防止了 SQL 注入。
标签: javascript node.js database postgresql