首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助SQL错误(ORA-02270):此列列表错误没有匹配的唯一键或主键

需要帮助SQL错误(ORA-02270):此列列表错误没有匹配的唯一键或主键
EN

Stack Overflow用户
提问于 2017-04-12 00:58:40
回答 1查看 78关注 0票数 0

我有多张桌子,

-Student(StudentIDpk,StudentName)

-Qualified(FIDpk、CourseIDpk、dateQ)

-Faculty(FIDpk,Fname)

-Course(CourseIDpk,CourseName)

我需要创建另外两个,它们是节,和注册。

-Section(SectionNopk,Semesterpk,CourseIDpk)

-Registration(StudentIDpk,SectionNopk,Semesterpk)

我首先创建一个没有任何问题的部分:

代码语言:javascript
复制
create table section(
SectionNo number(28) not null,
Semester varchar(25) not null,
CourseID varchar(25) not null,
constraint sec_pk primary key(SectionNo,Semester,CourseID),
constraint sec_fk foreign key(CourseID) references Course(CourseID)
on delete cascade);

然后我尝试创建一个名为registration的表,但它给出了标题中的错误。

代码语言:javascript
复制
create table registration(
StudentID number(28) not null,
SectionNo number(28) not null,
Semester varchar(25) not null,
constraint reg_pk primary key(SectionNo,StudentID,Semester),
constraint reg_fk foreign key(StudentID) references Student(StudentID)
on delete cascade,
constraint reg_fk2 foreign key(SectionNo,Semester) references 
Section(SectionNo,Semester) on delete cascade);

有没有人能帮我弄清楚问题出在哪里?

EN

回答 1

Stack Overflow用户

发布于 2017-04-12 01:07:31

ORA-2270错误非常简单:当我们在外键中引用的列与父表上的主键或唯一约束不匹配时,就会出现这种错误。

这里,在您的例子中,区段表的主键是(SectionNo,Semester,CourseID),而您仅引用Section(SectionNo,Semester)

若要消除此问题,请在您的辅助密钥中添加"CourseID as

一本好书:Oracle (ORA-02270) : no matching unique or primary key for this column-list error

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43352046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档