从另一个表

时间:2016-10-19 23:46:26

标签: sql

理论上的一切看起来都在我的代码中,但是我一直收到错误:

  

引用表'GAMEPERIOD'中没有主键或候选键与外键'PLAYS_FK_PERIOD'中的引用列列表匹配

这是我的代码:

表我试图引用:

CREATE TABLE GAMEPERIOD(
GAMENUMBER VARCHAR(10),
PERIODNUMBER CHAR(1),
HSCORE VARCHAR(3),
LSCORE VARCHAR(3),
CONSTRAINT PERIOD_PK2 PRIMARY KEY (GAMENUMBER, PERIODNUMBER),
CONSTRAINT PERIOD_FK_GAME2 FOREIGN KEY (GAMENUMBER) REFERENCES GAME(GAMEID)
);

表我正在尝试创建:

CREATE TABLE PLAYS(
PERSONID CHAR(10) REFERENCES PLAYER,
GAMENUMBER VARCHAR(10),
PERIODNUMBER CHAR(1),
POINTS INTEGER,
MINUTESPLAYED NUMERIC(3,2),
FTA SMALLINT,
FTM SMALLINT,
FGA SMALLINT,
FGM SMALLINT,
TPA SMALLINT,
TPM SMALLINT,
TR SMALLINT,
OFFREB SMALLINT,
ASSISTS SMALLINT,
TURNOVERS SMALLINT,
STEALS SMALLINT,
BLOCKS SMALLINT,
PF SMALLINT,
CONSTRAINT PLAYS_PK PRIMARY KEY (PERSONID,GAMENUMBER,PERIODNUMBER),
CONSTRAINT PLAYS_POINTS CHECK (POINTS=(FTM+FGM*2+3*TPM)),
CONSTRAINT PLAYS_FK_PERIOD FOREIGN KEY (PERIODNUMBER, GAMENUMBER) REFERENCES GAMEPERIOD(PERIODNUMBER, GAMENUMBER)
);

1 个答案:

答案 0 :(得分:0)

您访问和定义外键的方式不匹配。你需要翻转的变量(periodNumber,gameNumber),到(gameNumber,periodNumber)

相关问题