2

Visual StudioでSQLデータベースを開いていますが、作成済みのテーブルにいくつかの制約を追加する必要があります。3番目のテーブルの外部キーがすでにある外部キーが必要です。よりよく説明するために、

テーブルに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 validGABBIAクラスのIDは、 n_gabbiaとn_stanzaの結合から取得され、後者はクラスのキーであるという事実についてだと思いますSTANZA

誰かが私を助けることができますか?

4

1 に答える 1

1

ALTER TABLEステートメントが記述どおりに機能するためには、テーブル(クラスではない)「ANIMALE」と「GABBIA」の両方に「n_stanza」列と「n_gabbia」列が含まれている必要があります。

さらに、テーブル「GABBIA」では、列「n_stanza」と「n_gabbia」のペアに主キー制約または一意性制約のいずれかが存在する必要があります。つまり、primary key (n_stanza, n_gabbia)またはunique (n_stanza, n_gabbia)テーブル「GABBIA」のようなものが必要です。

于 2013-02-06T11:49:29.497 に答える