我想解决此错误“此列列表没有匹配的唯一键或主键”

问题描述

CREATE TABLE EMP(EMP_ID NUMBER(5),F_NAME VARCHAR2(20) NOT NULL,L_NAME VARCHAR2(20) NOT NULL,EMAIL VARCHAR2(20) NOT NULL,PHONE_NO NUMBER(10) NOT NULL,HIRE_DATE DATE NOT NULL,JOB_ID NUMBER(5) NOT NULL,SALARY NUMBER(5) NOT NULL,COMMISSION_PCT NUMBER(5),MANAGER_ID NUMBER(5) NOT NULL,DEPT_ID NUMBER(5) NOT NULL,PRIMARY KEY (EMP_ID),CONSTRAINT FK_ED FOREIGN KEY (DEPT_ID) REFERENCES DEPT (DEPT_ID),CONSTRAINT FK_EDM FOREIGN KEY (MANAGER_ID) REFERENCES DEPT (MANAGER_ID));

当我添加这一行时,它会引发错误ORA-02270
我已经创建了表DEPT,其中包含dept_id作为主键,而manager_id不包含空值。但是,当我将外键用作dept_id时,没有错误,但是对于manager_id来说,它抛出了错误

请帮助我解决这个问题。

解决方法

dept_id是DEPT中的主键,因此在EMP中可以有一个外键。

manager_id只是DEPT中的一个非空列。由于它不是DEPT中主键的一部分,因此在EMP中不能有外键。