2014-09-27 66 views
0

我已经创建表电影和位置,但我似乎得到一个奇怪的错误我想知道如果任何人都可以赶上我在这里做错了。SQL错误创建表

CREATE TABLE ShowTimes 
(
    showId int NOT NULL, 
    movieid int NOT NULL,   
    cinemaID int NOT NULL, 
    showDate date, 
    showTime time, 

    PRIMARY KEY (showId), 
    FOREIGN KEY ShowTimes (movieid) REFERENCES Movies (movieId), 
    FOREIGN KEY (cinemaID) REFERENCES Location (cinemaId) 
) 

错误:

Error Code: 1005. Can't create table 'galaxy.showtimes' (errno: 150) 0.078 sec

CREATE TABLE ShowTimes 
(
    showId int NOT NULL, 
    movieid int NOT NULL, 
    cinemaID int NOT NULL, 
    showDate date, 
    showTime time, 
    PRIMARY KEY (showId), 
    FOREIGN KEY (movieid) REFERENCES Movies (movieId), 
    FOREIGN KEY (cinemaID) REFERENCES Location (cinemaId) 
); 

INSERT INTO ShowTimes VALUES (1, 1, 1, '2013-09-20', '17:00:00'), 
          (2, 1, 1, '2013-09-20', '19:00:00'), 
          (3, 3, 4, '2013-09-20', '17:00:00'), 
          (4, 2, 3, '2013-09-20', '15:15:00'); 
+0

可能的重复:http://stackoverflow.com/questions/4061293/mysql-cant-create-table-errno-150 – 2014-09-27 01:53:49

回答

1

简单的错误:看看你的第一个外键。您正在引用表格ShowTimes。尝试删除它。

+0

+1为了澄清,问题是该键被指定为外键,但指的是要添加的表格。这是循环的。 – 2014-09-27 02:12:33