@pavel_the_man

Как проставить значения поля одной таблицы в другую, а из другой в первую?

Мне нужно подтянуть данные из первой таблицу во вторую, а из второй в первую.
Вот песочница с CREATE TABLE + INSERT INTO.

Наверняка кто-то напишет, что столицы надо хранить в регионах. Да, мне нужно хранить столицы и регионы в разных таблицах. Суть не в этом.

Во второй таблице я вешаю внешний ключ на первую. Затем изменяю первую таблицу и вешаю внешний ключ на вторую.

Дальше я не могу сообразить как написать INSERT INTO, чтобы айдишники serial'ы из каждой таблицы загрузились в другую таблицу.

По итогу я хочу получить код, который создаст и заполнит таблицы.
  • Вопрос задан
  • 91 просмотр
Решения вопроса 2
@Everything_is_bad
ошибка в проектирование, достаточно ссылки regions в capitals, либо оборот capitals в regions, но уникальной, т.е связь 1-к-1
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Создаёте запись в первой таблице без указания связи, получая ID созданной записи через RETURNING. Создаёте запись во второй таблице, указывая связь с первой и получая ID созданной записи через RETURNING. Меняете запись в первой таблице, прописывая ID связанной записи из второй таблицы.
Но, по большому счёту, одна из ссылок лишняя. Она ничего не даёт, только добавляет необходимость дополнительного контроля, чтобы не оказалось, что столица Китая - Пекин, но Пекин - столица США.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы