day*_*mer 1 database postgresql foreign-keys
create table date_dimension (
id serial primary key,
date_id date,
..... others
);
create table temp (
id serial primary key,
from_date integer,
to_date integer,
value integer,
foreign key (from_date, to_date) references date_dimension(id, id)
);
Run Code Online (Sandbox Code Playgroud)
我怎样才能既指from_date和to_date到id现场date_dimension?
目前的代码没有这样说
ERROR: there is no unique constraint matching given keys for referenced table "date_dimension"
Run Code Online (Sandbox Code Playgroud)
谢谢
每个FOREIGN KEY加入到表约束将始终与一个在引用表行一个行*在被引用的.如果您希望引用中的每一行引用referant中的两个不同的行,则需要两个单独的外键约束.
你要:
foreign key (from_date) references date_dimension(id)
foreign key (to_date) references date_dimension(id)
Run Code Online (Sandbox Code Playgroud)
您几乎总是希望外键中的行与referant中的主键完全相同.
*实际上,如果外键小于反叛者的候选键,则可能在反悔者中有多行.但这很少有用,而且几乎肯定与您描述的问题无关