使用多个外键添加约束

时间:2013-02-06 10:47:47

标签: sql database visual-studio-2010

我有一个用visual studio打开的SQL数据库,我需要为已经创建的表添加一些约束。我需要一个外键,它已经有来自第三个表的外键。为了更好地解释,

ANIMALI需要来自表GABBIA的外键,该表已经是表STANZA中的外键。这是我提出的代码:

ALTER TABLE ANIMALE ADD CONSTRAINT REF_ANIMA_GABBI_FK FOREIGN KEY (n_stanza, n_gabbia) REFERENCES GABBIA(n_stanza, n_gabbia);

这给了我一个错误n_stanza is a column id not valid。我认为这是因为类GABBIA的ID取自加入n_gabbia和n_stanza,后者是类STANZA中的键。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

为了使ALTER TABLE语句按写入方式工作,两个表(不是)“ANIMALE”和“GABBIA”必须包含列“n_stanza”和“n_gabbia”。

此外,在“GABBIA”表中,对“n_stanza”和“n_gabbia”列必须有主键约束或唯一约束。也就是说,您需要表格“GABBIA”中的primary key (n_stanza, n_gabbia)unique (n_stanza, n_gabbia)