我有以下表格:
CREATE TABLE player (
playerID INT,
name VARCHAR(255) NOT NULL,
gender CHAR(1) CHECK (gender IN ('M','F')) NOT NULL,
dob DATE NOT NULL,
address VARCHAR(255),
telNo VARCHAR(20),
NHSNo VARCHAR(12),
PRIMARY KEY (playerID),
UNIQUE (NHSNo)
);
CREATE TABLE stadium (
stadiumID INT,
name VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL,
telNo VARCHAR(20) NOT NULL,
PRIMARY KEY (stadiumID)
);
CREATE TABLE tournament (
onDate DATE,
result VARCHAR(4) CHECK (result IN ('Win','Lose')),
stadiumID INT NOT NULL,
PRIMARY KEY (onDate, stadiumID),
FOREIGN KEY (stadiumID) REFERENCES stadium (stadiumID),
UNIQUE (onDate, coachID)
);
每当我执行下面的表时,都会给出错误。 :(我不明白它有什么问题。
CREATE TABLE playTour (
playerID INT NOT NULL,
onDate DATE NOT NULL,
stadiumID INT NOT NULL,
PRIMARY KEY (playerID, onDate, stadiumID),
FOREIGN KEY (playerID) REFERENCES player (playerID),
FOREIGN KEY (stadiumID) REFERENCES stadium (stadiumID),
FOREIGN KEY (onDate) REFERENCES tournament (onDate)
);
正是这一点导致了它:
FOREIGN KEY (onDate) REFERENCES tournament (onDate)
);