2015-03-31 101 views
0

有人可以幫我嗎? 我創建了所有的表和插入語句,但我得到這個錯誤。違反了完整性約束 - 未找到父鍵(我是Oracle的新手)

這是我試圖將數據插入到表:

CREATE TABLE Avatar 
(
Avatar_ID NUMBER(3) CONSTRAINT pk_Avatar PRIMARY KEY, 
AvatarName VARCHAR(255), 
DOB NUMBER(12), 
Gender VARCHAR(1), 
Strength NUMBER(12), 
Cost NUMBER(20), 
Species_ID NUMBER(3), CONSTRAINT fk_Species_ID FOREIGN KEY (Player_ID) REFERENCES Species(Species_ID), 
Weapon_ID NUMBER(3), CONSTRAINT f_Weapon_ID FOREIGN KEY (Weapon_ID) REFERENCES Weapon(Weapon_ID), 
Player_ID NUMBER(3), CONSTRAINT fk_Player_ID FOREIGN KEY (Player_ID) REFERENCES Player(Player_ID) 
); 

這是我的插入語句:

INSERT INTO Avatar 
VALUES (301,'Considia',05-04-15,'F',100,50,101,208,1); 

錯誤:

「完整性約束(%S。 %s)違反 - 父鍵未找到「(SQL Developer)

完整性約束(MS166.FK_SPECI ES_ID)違反 - 未找到父鍵(SQL Plus)

在此先感謝您。

+0

不種表包括鍵101? – 2015-03-31 10:20:23

+0

是的,它是 - 它是我第一次插入物種表的語句 – Shireen 2015-03-31 10:22:07

+0

我正在使用SQL Developer插入數據,而我正在使用SQL * Plus檢查錯誤的位置 – Shireen 2015-03-31 10:32:19

回答

1

您是否引用了正確的密鑰?

應該這樣:

CONSTRAINT fk_Species_ID FOREIGN KEY (Player_ID) REFERENCES Species(Species_ID), 

不能:

CONSTRAINT fk_Species_ID FOREIGN KEY (Species_ID) REFERENCES Species(Species_ID), 
+0

是的,這是問題所在。非常感謝。 – Shireen 2015-03-31 10:34:52

相關問題