Я пытаюсь объединить несколько пар баз данных SQLite3 с одинаковыми таблицами (и схемами). Некоторые из таблиц довольно просты и содержат строки простых данных, но некоторые таблицы имеют первичные ключи. Некоторые ключи являются уникальными, например URL (например, url LONGVARCHAR PRIMARY KEY
), а некоторые из них являются просто целочисленными индексами, но НЕ имеют автоматического приращения (например, id INTEGER PRIMARY KEY
).
Я нашел несколько тем о слиянии баз данных (и я уже без усилий слил одну пару баз данных без первичных ключей), но меня беспокоят те, с ключами, которые могут уже существовать в обеих.
Мой вопрос: что произойдет, если строка будет добавлена в базу данных, где строка с таким же ключом уже существует? Он должен перезаписать строку с этим ключом, верно? Я надеялся, что он добавит их в таблицу и обновит ключ, но это работает только в том случае, если ключ имеет числовой компонент, для которого установлено правильное автоинкремент?
Может ли кто-нибудь подтвердить мои предположения - и, если возможно, предложить предложение о самом простом способе добавления таких строк?
Большое спасибо.