当前位置: 首页 > 知识库问答 >
问题:

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

饶曦之
2023-03-14

我在节点js代码中有2个数组

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

我试着用一个数组来做。它成功地执行了,但它不能与2个数组一起工作。我应该怎么做呢?
我为一个数组编写的Mysql插入查询如下所示:

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

共有1个答案

东郭勇
2023-03-14

您只需将名称哈希映射到一个数组中-[[“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;
    });
  }
});

我不知道是否还有别的办法。

 类似资料:
  • 我正在开发基于spring+Hibernate的web应用程序。在这个应用程序中,我必须对数据库中的50000个可用记录进行计算。当前逻辑:- 循环0到50000(所有50000记录彼此独立) 选择第i个元素 对第i个元素执行计算(删除CALCULATION_TEMP表(如果存在),创建新表CALCULATION_TEMP并在CALCULATION_TEMP表中插入计算) 在步骤3表上进行一些计算

  • 批量订单 Purchorder 我已经试了一个星期了。我有这两个表,batchporder和purchord在batchporder表中,我需要插入一行,并获得传递给purchord插入的主id。在purchord中,我需要插入多行,因此我使用了insert\u batch。 控制器 模型 错误1 遇到PHP错误严重性:警告 消息:array_keys()要求参数1为数组,字符串为给定值 文件名:

  • 问题内容: 我想从select语句插入到表中,但是,从select语句返回3列,并且该表有4列,我想为额外列中的所有行添加0。谁能给我一个示例SQL查询吗? 谢谢! 问题答案: 只需在您的选择中添加“ 0”即可。

  • 问题内容: 我想用一个查询插入多个行,例如: 有没有一种方法可以轻松地做到这一点,最好是针对这样的对象数组: 我可能最终将500条记录放在一个块中,因此运行多个查询将是不可取的。 到目前为止,我只能对单个对象执行此操作: 附带的问题:使用符号插入是否可以防止SQL注入? 问题答案: 我是pg-promise的作者。 在旧版本的库中,Performance Boost文章中的简化示例涵盖了这一点,在

  • 问题内容: 与先前 的一对一映射问题 类似,我需要一个针对源和目标中多列的解决方案。 仍可与Postgres 9.4.4一起使用,对查询和架构进行了修改,如下所示: 假设我有这两个表和: 还有另一个表,用于存储将数据从迁移到的公式: 如何在动态查询中编译此公式并将其插入目标表? 问题答案: 动态查询多列语句的基本查询-忽略该列: 结果: 这假定了一个 _ 单一的 源和一个 _ 单一的 目标表。否则

  • 问题内容: 为什么第一个INSERT要通过table2。请注意,table2.col_1不为NULL。它不会为col_1插入NULL,而是神秘地将NULL值转换为空字符串。我正在使用MySQL 5.5.28版本。谢谢 问题答案: 您已关闭MySQL的STRICT模式。打开它,您将得到一个错误。 否则,您可以通过以下方式使用PDO测试这些警告:http : //php.net/manual/en/p