У меня есть несколько баз данных и вам нужны обменные данные между ними. Когда я экспортирую из db A import в db B, произойдет конфликт Id. Я думаю о двух подходах, меня никто не удовлетворяет.Как разрешить конфликт данных
выберите max (id), затем создайте новый идентификатор, чтобы избежать конфликта, но один столбец хранит структуру json и содержит идентификатор тоже! (история причина). Поэтому мне нужно создать новый идентификатор (первичный ключ) и изменить все идентификаторы в этом столбце json.
или я могу добавить информацию о партии для каждого импорта данных. Когда я импортирую данные, я обнаруживаю каждый id в sql и добавляю перед ним пакетный идентификатор. Такие, как:
оригинальный дб как:
ID COL_JSON
11 {id:11,name:xx ...}
Я хочу, чтобы вставить новую запись: 11, после вставки добавить пакетную информацию «1000» перед идентификатором
Теперь дб выглядит как
ID COL_JSON
11 {id:11,name:xx ...}
100011 {id:100011,name:xx ...}
следующая партия будет 1001,1002 1003 ..., поэтому, если новый 11 записи должны быть вставить дб выглядит
ID COL_JSON
11 {id:11,name:xx ...}
100011 {id:100011,name:xx ...}
100111 {id:100111,name:xx ...}
Хотя оба подхода могут разрешить конфликт, я считаю, что два подхода глупы. Есть ли какая-то изящная схема?
Вы говорите о подходах синхронизации базы данных? –
не синхронизация вопрос. Я экспортирую данные из базы данных приложения А и некоторых файлов, а затем импортирую в приложение B (db и файлы) – mandatory