14
我正嘗試使用雙主鍵作爲外鍵。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是一個對象
表BBB是多對一與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外鍵的,但他們也總是指的是在BBB同一行。
但當然這是無效的。在PostgreSQL中產生這種行爲的最好方法是什麼?
這是完全有效的!但它不被稱爲***「double」***鍵,它是一個**「複合」**鍵。 – 2012-02-13 20:54:22