【发布时间】:2017-02-04 14:35:00
【问题描述】:
我正在创建一个屏幕表:
CREATE TABLE SCREEN(
BRANCHID CHAR(2) NOT NULL,
SCREENID CHAR(2) NOT NULL,
SCREENCACPACITY NUMBER(3),
CONSTRAINT SCREEN_PK PRIMARY KEY(BRANCHID, SCREENID),
CONSTRAINT SCREEN_FK FOREIGN KEY(BRANCHID) REFERENCES BRANCH(BRANCHID));
但是当我创建一个会话表时:
CREATE TABLE SESSIONS(
SESSIONID CHAR(4) NOT NULL,
BRANCHID CHAR(2) NOT NULL,
SCREENID CHAR(2) NOT NULL,
MOVIEID CHAR(2) NOT NULL,
SESSIONDATE DATE,
SESSIONPRICE NUMBER(4,2),
CONSTRAINT SESSIONS_PK PRIMARY KEY(SESSIONID),
CONSTRAINT SESSIONS_FK1 FOREIGN KEY(BRANCHID) REFERENCES BRANCH(BRANCHID),
CONSTRAINT SESSIONS_FK2 FOREIGN KEY(SCREENID) REFERENCES SCREEN(SCREENID),
CONSTRAINT SESSIONS_FK3 FOREIGN KEY(MOVIEID) REFERENCES MOVIE(MOVIEID));
我收到“此列列表没有匹配的唯一键或主键”错误。我知道错误出在 Screen 表上,因为我自己尝试了所有外键,而 Screen 是唯一一个给我错误的。因此,当我尝试运行完整的脚本时,由于 Screen 的原因,它不起作用。
已经制作了分支和电影屏幕,它们或多或少与屏幕相同。帮助pl0x
【问题讨论】:
-
相对于您在上面向我们展示的两个
CREATE TABLE语句,BRANCHES表是在哪里创建的? -
@TimBiegeleisen 这是第一个创建的