引用表

时间:2017-05-02 22:08:57

标签: database postgresql psql

我一直在阅读有关postgresql和此问题的先前帖子,我已经和它坐了一段时间没有任何进展。 所以我有三张桌子看起来像这样:

create table Band
( 
  bandID SERIAL primary key,
  BandNamn char(20)
);

create table Bandinformation(
  id SERIAL UNIQUE,
  bandID integer UNIQUE,
  Medlemmar char(40),
  Land char(20),

  primary key(id, bandID),
  foreign key(bandID) references Band(bandID) ON DELETE CASCADE
);

create table medlemsinfo(
    id SERIAL,
    koppladTillMedlem integer UNIQUE,
    text char(100),

    primary key(id, koppladTillMedlem),
    foreign key(koppladTillMedlem) references Bandinformation(bandID) ON DELETE CASCADE

);

然而,当我尝试引用" koppladTillMedlem"在Bandinformation列中的bandID,它不允许我,因为没有唯一约束。 但是从我能阅读的内容和我所做的事情来看,我已经将所有的东西设置为独特的,它们都是主键,所以我没有看到问题。 我能做些什么才能解决这个问题,我已经在postgresql的网站上看到了它,但我对此感到非常沮丧。

1 个答案:

答案 0 :(得分:-1)

解决了它,问题是我在koppladTillMedlem上的表medlemsinfo中有一个主键,不明白为什么,因为“主键”应该自动将其设置为Unique ...