第1行的错误:ORA-02291:违反了完整性约束(SYSTEM.FUN_EMP_DEPT_FK) - 未找到父键

时间:2016-04-28 04:00:36

标签: sql oracle

我仍然是sql的初学者,我有一个问题

CREATE TABLE Funtom_employee
(
 emp_ID number(3) CONSTRAINT Fun_emp_PK PRIMARY KEY,
 Emp_firstname varchar2(50) NOT NULL,
 Emp_surname varchar2(50),
 Emp_department number(2) CONSTRAINT Fun_emp_dept_FK REFERENCES Funtom_department(dept_ID),
 emp_street varchar2(50),
 emp_town varchar2(50),
 emp_district varchar2(50),
 Emp_grade number(3) default 4 CONSTRAINT chk_Emp_grd check(Emp_grade between 1 and 9),
 Emp_site varchar2(30) DEFAULT'LONDON'
 );

ALTER TABLE Funtom_employee ADD Employee_status varchar2(10);
ALTER TABLE Funtom_employee ADD Employee_termination date;
ALTER TABLE Funtom_employee ADD Employee_start date;

CREATE TABLE Funtom_department
(
dept_ID number(3) CONSTRAINT Fun_dept_PK PRIMARY KEY,
dept_name varchar2(50) NOT NULL
);

这是我的代码表代码,

insert into funtom_employee (emp_id, emp_firstname, emp_surname, emp_department, emp_street, emp_town, emp_district, emp_grade, emp_site) values (1,'CIEL','PHANTOMHIVE',5,'PHANTOMHIVE MANNOR REGAL AVENUE',null,'LONDON',9,'LONDON');

这是我需要插入的数据

我插入数据时显示

错误

ERROR at line 1:

ORA-02291:违反了完整性约束(SYSTEM.FUN_EMP_DEPT_FK) - 父密钥 找不到

我找不到问题,代码对我来说似乎没问题,有人可以帮我找出问题吗?我真的很感激,非常感谢你

1 个答案:

答案 0 :(得分:0)

您的错误消息;

  

ORA-02291:违反了完整性约束(SYSTEM.FUN_EMP_DEPT_FK) - 未找到父密钥

...基本上意味着你试图打破由外键Fun_emp_dept_FK强制执行的引用,在这种情况下验证用户所属的部门实际存在。

换句话说,您收到错误的原因是您正在尝试添加属于不存在的部门的用户

相关问题