我想添加一个引用该列的外键
FOREIGN KEY ACCREDITATION_BODY_ID NOT NULL REFERENCES
ACCREDITATION_BODY_LOOK_UP(ACCREDITATION_BODY_ID),
并且表中的SQL是:
CREATE TABLE "COURSE_ACCREDITED"
("COURSE_ID" VARCHAR2(50) NOT NULL ENABLE,
"ACCREDITATION_BODY_ID" VARCHAR2(50) NOT NULL ENABLE,
"DATE_OBTAINED" VARCHAR2(50),
PRIMARY KEY ("COURSE_ID", "ACCREDITATION_BODY_ID", "DATE_OBTAINED") ENABLE)
当我添加此外键时,它显示为ORA-02270:此列列表没有匹配的唯一键或主键
问题是什么?
2 回答
这意味着子表具有在父表中找不到的值 .
您只需要删除这些孤立的值或使用“novalidate”定义外键,它会跳过检查子表和父表之间的完整性 .
更正:此地址有不同的PK / FK错误
ORA-02270是因为您正在尝试创建外键,并且该键未引用具有唯一约束的主键或列 .
ACCREDITATION_BODY_LOOK_UP是否具有主键(或唯一键)?
如果是,它的列是什么?将外键添加到从属表时,需要以相同的顺序引用所有这些列 .
如果不是,则需要在该表上创建主键,然后才能在外键中引用它 .