【发布时间】:2018-09-04 03:17:08
【问题描述】:
这段代码有问题。
CREATE TABLE Reservation (
Movie_Title varchar(255) NOT NULL,
Theatre_No int NOT NULL,
Complex_Name varchar(255) NOT NULL,
Start_Time datetime NOT NULL,
CustomerID int NOT NULL,
Number_of_Tickets int NOT NULL,
PRIMARY KEY (Movie_Title, Theatre_No, Complex_Name, Start_Time, CustomerID),
FOREIGN KEY (Movie_Title) REFERENCES Showings(Movie_Title),
FOREIGN KEY (Theatre_No) REFERENCES Showings(Theatre_No),
FOREIGN KEY (Complex_Name) REFERENCES Showings(Complex_Name),
FOREIGN KEY (Start_Time) REFERENCES Showings(Start_Time), /* this line causes error*/
FOREIGN KEY (CustomerID) REFERENCES Customer(Account_Number)
);
如果我摆脱这条线,它运行良好。
FOREIGN KEY (Start_Time) REFERENCES Showings(Start_Time),
参考表(Showings)如下;
CREATE TABLE Showings (
Movie_Title varchar(255) NOT NULL,
Theatre_No int NOT NULL,
Complex_Name varchar(255) NOT NULL,
Start_Time datetime NOT NULL,
Num_Seats int NOT NULL,
PRIMARY KEY (Movie_Title, Theatre_No, Complex_Name, Start_Time),
FOREIGN KEY (Movie_Title) REFERENCES Movie(Title),
FOREIGN KEY (Theatre_No) REFERENCES Theatre(Theatre_No),
FOREIGN KEY (Complex_Name) REFERENCES Theatre(Complex_Name)
);
我正在使用 MariaDB 10.1.3
对不起,如果这最终成为一个愚蠢的错误,我对 SQL 还很陌生 请和谢谢。
【问题讨论】: