Как вставить массив в базу данных в 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 или строкой со значениями так как там сказано что выигрыша от этого нет.