2

我有一个用 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. 我认为这是因为该类的 IDGABBIA取自加入 n_gabbia 和 n_stanza,后者是 class 中的一个键STANZA

谁能帮我吗?

4

1 回答 1

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)“GABBIA”表中的内容。

于 2013-02-06T11:49:29.497 回答