У меня есть несколько таблиц базы данных, которые я объединил в одну, но мне нужно обновить ссылку на внешний ключ для создаваемой новой записи:
name: parent_old
id | name | ...
--------------------
1 | test1 | ...
2 | test2 | ...
3 | test3 | ...
name: parent_migrated
id | name | ...
--------------------
22 | test1 | ...
23 | test2 | ...
24 | test3 | ...
name: child
id | fk | date | ...
--------------------
1 | 1 | 2016...
2 | 2 | 2016...
Учитывая вышеприведенные таблицы, «parent_old» — это исходная таблица, записи которой были перенесены в «parent_migrated», и, как вы можете видеть, значения «id» соответствующих записей были обновлены после миграции. Мне нужно обновить ссылку внешнего ключа (столбец fk) в таблице ‘child’ до новых значений в таблице ‘parent_migrated’. Могу ли я сделать это с чем-то вроде:
INSERT INTO parent_migrated (name,...) SELECT name,... FROM parent_old
или мне нужно сделать это подходом с несколькими вызовами?
Спасибо!
Задача ещё не решена.
Других решений пока нет …