【问题标题】:integrity constraint violated - parent key not found (i'm new to Oracle)违反完整性约束 - 未找到父键(我是 Oracle 新手)
【发布时间】:2015-03-31 18:28:05
【问题描述】:

有人可以帮我吗? 我已经创建了所有的表和插入语句,但我收到了这个错误。

这是我要插入数据的表:

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)

提前谢谢你。

【问题讨论】:

  • Species 表是否包含键 101?
  • 是的,确实如此——这是我对物种表的第一个插入语句
  • 我正在使用 SQL Developer 插入数据,我正在使用 SQL*Plus 检查错误在哪里

标签: sql oracle


【解决方案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),

【讨论】:

  • 是的,这就是问题所在。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-12
  • 1970-01-01
  • 1970-01-01
  • 2020-07-19
  • 2018-04-18
  • 2014-06-12
  • 1970-01-01
相关资源
最近更新 更多