Добавить байты [] в SQLite существующий файл [дубликат]

Установка этого параметра на 22.0 помогла мне.

Версия 22.0 не исправила проблему для меня, но 19.0 сделал.

compile group: 'com.google.guava', name: 'guava', version: '19.0'
55
задан DavidM 17 September 2008 в 08:28
поделиться

4 ответа

Это будет сделано по запросу, возможно, несколько раз в день. То, как я увижу, работает, как в http://sqlite.1065341.n5.nabble.com/Attempting-to-merge-large-databases-td39548.html , где базы данных объединены в большой БД, выполненный запрос, а затем удалена большая база данных.

15
ответ дан yurez 24 August 2018 в 19:00
поделиться

Подводя итог из сообщения Nabble в ответе DavidM:

attach 'c:\test\b.db3' as toMerge;           
BEGIN; 
insert into AuditRecords select * from toMerge.AuditRecords; 
COMMIT; 
detach toMerge;

Повторите при необходимости.

Примечание: добавлено detach toMerge; согласно комментариям майка.

54
ответ дан 3 revs, 3 users 87% 24 August 2018 в 19:00
поделиться
  • 1
    а также detach toMerge; после . – mike 13 April 2015 в 11:30
  • 2
    Я бы предположил, что это единственное объединение. Как бы вы импортировали сразу несколько таблиц, сохраняя свой внешний ключ? – ILoveCoding 29 May 2015 в 14:50
  • 3
    Я пробовал это, но столбцы из прикрепленного db, где по какой-то причине были смещены, и результат был неправильным. Поэтому мне пришлось явно указывать имена столбцов в том же порядке в операторах INSERT и SELECT. – Pimin Konstantin Kefaloukos 8 August 2016 в 02:36
  • 4
    Как справиться с ограничениями UNIQUE и обновлять строки, которые имеют одинаковые столбцы? – Mithril 14 September 2016 в 01:55
  • 5
    как вы это делаете в скрипте для динамического количества баз данных? – user5359531 25 May 2018 в 21:23

Если вам нужно выполнить операцию слияния только один раз (для создания новой более крупной базы данных), вы можете создать скрипт / программу, которая будет зацикливать все ваши базы данных sqlite и затем вставить данные в основную (большую) базу данных.

1
ответ дан Espo 24 August 2018 в 19:00
поделиться
  • 1
    у вас есть пример кода, который будет выполнять это действие? – user5359531 25 May 2018 в 21:20

Без обид, как один разработчик другому, я боюсь, что ваша идея кажется ужасно неэффективной. Мне кажется, что вместо объединения баз данных SQLite вы, вероятно, должны хранить несколько таблиц в одном файле базы данных.

Однако, если я ошибаюсь, я думаю, вы могли бы использовать ATTACH базы данных, а затем использовать VIEW для упрощения ваши запросы. Или сделайте таблицу в памяти и скопируйте все данные (но это даже худшая производительность, особенно если у вас большие базы данных)

-2
ответ дан Robert Gould 24 August 2018 в 19:00
поделиться
  • 1
    Объединение двух баз данных полезно, когда инженер базы данных работает с другой копией, чтобы каким-либо образом изменить структуру или контент, а тем временем старая, живая версия изменяется пользователями. – Beejor 12 September 2015 в 20:59
Другие вопросы по тегам:

Похожие вопросы: