有人可以帮帮我吗? 我创建了所有的表并插入了语句,但是我收到了这个错误。
这是我试图将数据插入的表:
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_SPECIES_ID) - 未找到父密钥(SQL Plus)
提前谢谢。
答案 0 :(得分: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),