Как вставить массив в базу данных в SQLite3?

Подскажите как вставить разом большой массив в базу данных?

$db = new SQLite3("database.db");
$db->exec("CREATE TABLE IF NOT EXISTS messages(id INTEGER PRIMARY KEY, message TEXT, user_id INT(10), time INT(10))");
$data = [
  ['user_id' => 12, mesages => 'Тест', time => 1601055394728],
  ['user_id' => 14, mesages => 'Тест', time => 1601055394728],
  ['user_id' => 32, mesages => 'Тест', time => 1601055394728],
  ['user_id' => 14, mesages => 'Тест', time => 1601055394728],
  ['user_id' => 41, mesages => 'Тест', time => 1601055394728],
  // ... 1000 записей
];
$db->exec("INSERT INTO messages(id, message, user_id, time) VALUES('........')");

Ответы (1 шт):

Автор решения: Daniel Protopopov

Можете посмотреть и почитать примеры с англоязычной StackOverflow - там есть также и ссылка на официальную документацию SQLite. Лучше будет использовать foreach и вставить записи одна за другой чем городить огород с select/union или строкой со значениями так как там сказано что выигрыша от этого нет.

→ Ссылка