У меня есть две таблицы, которые связаны друг с другом в отношении 1: M: parent
и child
.Я ограничил столбец parent_id
в таблице child
, чтобы он соответствовал только значениям идентификатора таблицы parent
, используя ограничение внешнего ключа.Теперь я хочу, чтобы в третьей таблице, называемой another_table
, было два столбца FK, которые ссылаются на столбец id
в таблицах parent
и child
.
Как можно ограничить child_id
FK столбец в третьей таблице, только для значений из таблицы child
, которые соответствуют parent_id
значению?
РЕДАКТИРОВАТЬ
EG: Как я уже упоминал выше, у меня есть три таблицы - parent
, child
и another_table
.Их содержание выглядит так:
SELECT * FROM public.parent
id name
1 A
2 B
3 C
SELECT * FROM public.child
id name parent_id
1 A1 1
2 A2 1
3 A3 1
4 B1 2
5 C1 3
6 C2 3
SELECT * FROM public.another_table
Я хочу найти способ в структуре БД (в настоящее время), чтобы предотвратитьвставка или обновление значения в столбце child_id
третьей таблицы, которое не соответствует данным таблицы child
.