Я пытаюсь использовать двойной первичный ключ в качестве внешнего ключа.Двойной внешний ключ в postgresql
Create table AAA (
AAA_id int primary key
);
create table BBB (
AAA_id int,
BBB_name character varying(20),
primary key (AAA_id, BBB_name)
);
create table CCC (
AAA_id,
BBB_name,
DDD_id,
... ???
);
таблица AAA является объектом
стол ВВВ является многие к одному с ААА, и имеет псевдонимы AAA
Я пытаюсь создать сводную таблицу, CCC, который держит многие к одному между DDD и BBB.
Я предполагаю, что я хочу что-то вроде
create table CCC (
AAA_id,
BBB_name,
DDD_id,
foreign key (AAA_id, BBB_name) references BBB(AAA_id, BBB_name) on update cascade
);
где оба AAA_id и BBB_name внешние ключи, но они также всегда относится к тому же ряду в ГЭБ.
но, конечно, это недействительно. Каков наилучший способ создания такого поведения в postgreSQL?
Это действительно действительно! Но это не называется *** «двойным» *** ключом, это ** «сложный» ** ключ. –