SQL无法添加或更新子行:外键约束

时间:2015-06-02 15:36:37

标签: mysql sql

CREATE TABLE EMPLOYEE(
->  Emp_No          INT(4),
->  Emp_Fname       VARCHAR(50),
->  Emp_Lname     VARCHAR(50),
->  Job_Class               VARCHAR(4),
->  PRIMARY KEY     (Emp_No),
->  FOREIGN KEY (Job_Class) REFERENCES JOB (Job_Class)
->  );

查询正常,0行受影响(0.09秒)

CREATE TABLE PROJECT(
->  Pro_No       INT(4),
->  Pro_Name                VARCHAR(50),
->  Pro_Leader     VARCHAR(50),
->  Emp_No       INT(4),
->  PRIMARY KEY (Pro_No),
->  FOREIGN KEY (Emp_No) REFERENCES EMPLOYEE (Emp_No)
->  );

查询OK,0行受影响(0.23秒)

CREATE TABLE ASSIGN(
->  Pro_No       INT(4),
->  Emp_No          INT(4),
->  Job_Class    VARCHAR(4),
->  Assign_Hours       DECIMAL(6,2),
->  Total_Charge        DECIMAL(6,2),
->  PRIMARY KEY (Pro_No, Emp_No),
->  FOREIGN KEY (Pro_No) REFERENCES PROJECT (Pro_No),
->  FOREIGN KEY (Emp_No) REFERENCES EMPLOYEE (Emp_No)
->  );

查询OK,0行受影响(0.08秒)

INSERT INTO EMPLOYEE (Emp_No, Emp_Fname, Emp_Lname, Job_Class) VALUES ('101', 'John','New','DD');
  

错误1452(23000):无法添加或更新子行:外键约束失败
o_m_memployee,CONSTRAINT employee_ibfk_1 FOREIGN KEY({{ 1}})参考Job_Classjob))

任何人都可以帮助我,我的sql工作正常

我失踪了 - > FOREIGN KEY(Job_Class)REFERENCES EMPLOYEE中的JOB(Job_Class)我添加并填充了

现在我收到此错误

1 个答案:

答案 0 :(得分:0)

  

外键关系涉及一个包含该表的父表   中心数据值和具有相同值的子表   回到它的父母。 FOREIGN KEY子句在子节点中指定   表

     

它将拒绝任何尝试创建的INSERT或UPDATE操作   如果没有匹配项,则子表中的外键值   父表中的候选键值。

也许,您正在尝试在父表中不存在的子表中插入外键值。

礼貌:Using FOREIGN KEY Constraints