Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Базы данных: Общие вопросы > Объединение таблиц.


Автор: kotmatroskin55 27.06.15, 04:17
День добрый. Тема битая-перебитая, но вот чего-то не могу сообразить.
Есть несколько БД SQLITE, которые имеют абсолютно одинаковую структуру. Их нужно периодически опрашивать и складывать результат в итоговую табличку. Все хорошо, но беда с айдишниками: они совпадают, а значит либо убирать первичный ключ (я пошутил), либо, как говорил дедушка Ленин, идти другим путем. Но вот с другим путем пока не могу сообразить. Пишу так:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    attach  "путь к базе"   as toMerge;
    insert into result  SELECT id,
                           datetime(mDate, 'unixepoch'),
                           fio,
    ...
    FROM toMerge.Magazine;  
    detach database toMerge;

Ну и так N раз. Только вот он, sql в смысле, выбирает только уникальные айдишники. Понятно, что дело не в бобине, но сообразить не могу.

Автор: grgdvo 27.06.15, 23:19
Может быть в итоговой таблице сделать составной первичный ключ,
состоящий из двух полей: номер базы + id из той базы

Автор: Akina 29.06.15, 06:15
Цитата kotmatroskin55 @
Их нужно периодически опрашивать и складывать результат в итоговую табличку. Все хорошо, но беда с айдишниками: они совпадают

Это проблема архитектурная либо организационная, а никак не программная. И решать её нужно соотв. методами.

Автор: kotmatroskin55 30.06.15, 08:27
Дело, как обычно, не в бобине. Вопрос решен. Всем спасибо.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)