首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何插入批量记录

问如何插入批量记录
EN

Stack Overflow用户
提问于 2019-07-24 17:06:57
回答 2查看 382关注 0票数 0

我正在使用AWS API getaway和lambda进行API开发。我正在使用无服务器MySQL https://www.npmjs.com/package/serverless-mysql包进行mysql连接和操作。

但我无法插入多条记录。如果我将记录数组传递给insert函数,它只插入单个记录。

请建议我如何在不使用循环的情况下插入多条记录。

代码语言:javascript
复制
values=[
  [
    "229",
    25,
    "objective",
    [
      "49"
    ],
    "2019-07-24 08:59:39",
    "2019-07-24 08:59:39"
  ],
  [
    "229",
    26,
    "descriptive",
    [
      "Yes i have long term illness that limits my daily activities. Test..."
    ],
    "2019-07-24 08:59:39",
    "2019-07-24 08:59:39"
  ]
];
var sql = 'INSERT INTO `answers` (`user_id`, `question_id`, `question_type`, `answer`, `created_at`, `updated_at`)  VALUES (?)';

await connection.query(sql, values);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-24 17:25:24

我以前没有使用过这个包,但只是浏览了一下文档,它似乎并没有为batch插入提供额外的功能。因此,我认为您仍然需要像通常对mysql执行批处理插入一样编写查询。

INSERT INTO table_name (field1,field2,field3) VALUES(1,2,3),(4,5,6),(7,8,9);

票数 2
EN

Stack Overflow用户

发布于 2019-07-24 18:41:11

批处理模式在此模式中不可用。因此,如果您想要避免循环,一种选择是编写查询,如其中一个答案所示:

代码语言:javascript
复制
INSERT INTO table_name (field1,field2) VALUES(1,2,3),(4,5,6);

但更好的方法是创建一个单独的lambda函数,通过顺序传递来插入值。它将为您提供更大的灵活性来插入值。

https://docs.aws.amazon.com/cli/latest/reference/glue/create-user-defined-function.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57179181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档