首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >对于被引用的表,没有与给定关键字匹配的唯一约束

对于被引用的表,没有与给定关键字匹配的唯一约束
EN

Stack Overflow用户
提问于 2011-11-30 04:05:30
回答 2查看 29.8K关注 0票数 18

我有一个date_dimension表定义:

代码语言:javascript
复制
CREATE TABLE date_dimension
(
  id integer primary key,
  date text,
  year double precision,
  year_for_week double precision,
  quarter double precision
);

我正在尝试创建一个失败的fact

代码语言:javascript
复制
create table fact ( 
  id serial primary key,
  contract integer,
  component integer,
  evaluation_date integer,
  effective_date integer,
  foreign key (evaluation_date, effective_date) references date_dimension(id, id)
);

错误是:

代码语言:javascript
复制
ERROR:  there is no unique constraint matching given keys for referenced 
table "date_dimension"

SQL state: 42830 

我不确定如何解决这个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-30 04:08:30

我认为您正在寻找两个独立的外键:

代码语言:javascript
复制
foreign key (evaluation_date) references date_dimension(id),
foreign key (effective_date) references date_dimension(id)
票数 10
EN

Stack Overflow用户

发布于 2011-11-30 04:15:13

您不是只想创建两个单独的外键引用date维度,如下所示:

代码语言:javascript
复制
create table fact ( 
    id serial primary key,
    contract integer,
    component integer,
    evaluation_date integer,
    effective_date integer,
    foreign key (evaluation_date) references date_dimension(id),
    foreign key (effective_date) references date_dimension(id)
);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8317006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档