Выгрузка содержимого таблицы в sqlite3 для импорта в новую базу данных - PullRequest
1 голос
/ 24 августа 2010

Есть ли простой способ вывести таблицу базы данных SQLite в текстовую строку с операторами insert для импорта в ту же таблицу другой базы данных?

В моем конкретном примере у меня есть таблицаназывается log_entries с различными столбцами.В конце каждого дня я хотел бы создать строку, которая затем может быть выгружена в другую базу данных с таблицей такой же структуры, которая называется archive .(И очистите таблицу log_entries )

Я знаю о команде attach для создания новых баз данных.Я действительно хочу добавить его к существующему, а не создавать новый каждый день.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 24 августа 2010
ATTACH "%backup_file%" AS Backup;
INSERT INTO Backup.Archive SELECT * FROM log_entries;
DELETE FROM log_entries;
DETACH Backup;

Все, что вам нужно сделать, это заменить% backup_file% на путь к вашей резервной базе данных. При таком подходе ваша таблица архива уже определена, и вы используете тот же файл базы данных для накопления архива.

0 голосов
/ 24 августа 2010
$ sqlite3 exclusion.sqlite '.dump exclusion' 
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE exclusion (word string);
INSERT INTO "exclusion" VALUES('books');
INSERT INTO "exclusion" VALUES('rendezvousing');
INSERT INTO "exclusion" VALUES('motherlands');
INSERT INTO "exclusion" VALUES('excerpt');
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...