gpt4 book ai didi

mysql - 在nodejs中插入具有2列的多行

转载 作者:可可西里 更新时间:2023-11-01 10:33:13 25 4
gpt4 key购买 nike

我在 Node js 代码中有 2 个数组

names = ['Name1','Name2','Name3','Name4', ...500 more items]
hashes = ['hash1','hash2','hash3','hash4', ...500 more items]

我在数据库表中有 2 列,即“名称”和“哈希”。我想只使用一个 mysql 语句同时在多行中插入名称和散列值。

我试着用一个数组来做。它执行成功但不适用于 2 个数组。我应该怎么做?
我为一个数组编写的 Mysql 插入查询如下所示:

var sql = "Insert IGNORE into lu (Name) VALUES ?";
con.query(sql,[array1],function(err, result){
if (err){
con.rollback(function(){
throw err;
});
}
});

最佳答案

您可以将 nameshashes 映射到一个数组中 - [["Name1", "hash1"], ...] ,然后插入一个嵌套的元素数组。

var sql = "INSERT IGNORE INTO lu(Name, hash) VALUES ?";

var names = ['Name1','Name2','Name3','Name4'];
var hashes = ['hash1','hash2','hash3','hash4'];

var toOneArray = function(names, hashes) {
return names.map(function(name, i) {
return [name, hashes[i]]
});
}

con.query(sql, [toOneArray(names, hashes)], function(err, result) {
if (err) {
con.rollback(function(){
throw err;
});
}
});

不知道有没有别的办法。

关于mysql - 在nodejs中插入具有2列的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41995988/

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