Объединение таблиц с автоматически генерируемыми первичными ключами, которые ссылаются на внешние ключи, может быть сложным из-за потенциальных конфликтов и потери целостности. Решение заключается в создании таблицы сопоставления для отслеживания оригинального родительского ID из исходной базы данных до его нового значения в целевой базе данных. Этот подход может быть применен к любой реляционной СУБД. Общий алгоритм включает в себя установку "текущей" таблицы как родительской из исходной базы данных, создание таблицы сопоставления, чтение необходимых строк из исходной базы данных, генерацию инструкций INSERT, поиск всех прямых дочерних таблиц и повторение процесса для каждой дочерней таблицы. Однако, необходимо учитывать такие ограничения, как круговые ссылки, триггеры, вычисляемые столбцы и измененные столбцы.
dev.to
Using Mapping Tables to Merge Data with Auto-Number Keys Referenced by Other Tables
Create attached notes ...