【问题标题】:How to insert bulk record如何插入批量记录
【发布时间】:2019-07-24 09:06:57
【问题描述】:

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

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

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

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);

【问题讨论】:

    标签: mysql amazon-web-services api lambda


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回复!..我会检查并通知您
    【解决方案2】:

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

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      • 2020-03-18
      • 2011-02-20
      • 1970-01-01
      • 2019-06-19
      • 2013-02-25
      相关资源
      最近更新 更多