Как вставить массовую запись

Я работаю над разработкой API, используя AWS 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);
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
0
438
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я не использовал этот пакет раньше, но просто просматривая документацию, не кажется, что он предоставляет дополнительные возможности для batch вставки. Поэтому я думаю, что вам все равно нужно составить запрос, как вы обычно делаете пакетную вставку для mysql.

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

Спасибо за ответ!.. Я проверю и дам вам знать

Somnath Rokade 24.07.2019 11:31

Пакетный режим недоступен в этом. Поэтому, если вы хотите избежать цикла, один из вариантов — составить запрос, как показано в одном ответе:

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

Но лучше всего создать отдельную лямбда-функцию для последовательной вставки значений. Это даст вам больше гибкости для вставки значений.

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

Другие вопросы по теме