[英]composite primary key with foreign key
我有一個數據庫“ STUDENT”。 有4個表格“ INFO”,“ STREAM”,“ GRADE”和“ MARKS”。
我已經在信息表上聲明了一個復合主鍵,即
PRIMARY KEY(ID, STR_NO)
但是當我在STREAM上聲明外鍵時
FOREIGN KEY(STR_NO) REFERENCES INFO(ID,STR_NO)
它給出了錯誤
為什么以及如何解決這個問題
如果我了解您的表所代表的內容,則看起來您具有向后的外鍵關系。 看起來STR_NO
應該是STREAM
上的主鍵,並且INFO
上應該有一個外鍵約束,要求INFO.STR_NO
在STREAM.STR_NO
或在代碼中具有匹配的值
ALTER TABLE INFO
ADD CONSTRAINT INFO_FK1
FOREIGN KEY (STR_NO) REFERENCES STREAM(STR_NO);
祝你好運。
做這個:
ALTER TABLE STREAM ADD(ID NUMBER)
ALTER TABLE INFO
ADD CONSTRAINT INFO_FK1
FOREIGN KEY (ID, STR_NO) REFERENCES STREAM(ID, STR_NO);
由於表信息具有復合主鍵ID, STR_NO
,因此對其的任何引用也必須同時包含這兩列。
有關更多詳細信息, 請參見此處 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.