gpt4 book ai didi

javascript - 如何使用 JavaScript Node 在 SQL 中插入数组?

转载 作者:行者123 更新时间:2023-11-29 14:29:29 25 4
gpt4 key购买 nike

我有一个问题。我有一个数组,我希望每个元素都是列中的一行;

例子:

我的数组:const myArray = ['A', 'B', 'C', 'D'];

结果是:

Column1 | 
-----------------------------------------
A |
B |
C |
D |

我正在使用 Node.js 和库 node-postgres:

var queryString = "INSERT INTO test (id) VALUES (" + "'" + [myArray] + "'" + ") RETURNING *";

pool.connect((err, client, done) => {
if (err) {
done();
console.log(err)
return res.status(500).json({
success: false,
data: err
})
}
client.query(queryString, (err, result) => {
done();
});
})

但它就像一根更大的绳子;

有人可以帮助我吗?

最佳答案

我想这就是您要找的:

var queryString = `INSERT INTO test (id) VALUES ("${myArray.join('"),("')}") RETURNING *`

INSERT INTO test (id) VALUES (("A"),("B"),("C"),("D")) RETURNING *

更好的解决方案是使用查询参数:

var queryString = `INSERT INTO test (id) VALUES (${myArray.map((v,i) => `$${i+1}`).join('),(')}) RETURNING *`

INSERT INTO test (id) VALUES (($1),($2),($3),($4)) RETURNING *

然后像这样使用它:

client.query(queryString, myArray, (err, result) => {
done();
});

关于javascript - 如何使用 JavaScript Node 在 SQL 中插入数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53788570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com