我正在嘗試創建三個表,但最后一個表的外鍵出現錯誤,我確保外鍵在兩個表中具有相同的型別、相同的規范,并且它是父表中的主鍵.
我也嘗試了以前帖子中建議的解決方案,但情況不一樣,所以它不起作用。
CREATE TABLE Movies (
movie_title VARCHAR(86),
imdb_id VARCHAR(9),
movie_id INT,
runtime INT,
budget INT,
revenue INT,
release_date DATE,
vote_count INT,
vote_average DOUBLE,
popularity DOUBLE,
language VARCHAR(2),
tagline VARCHAR(221),
overview TEXT(992),
PRIMARY KEY (movie_id),
FULLTEXT idx (overview)
);
我得到: SUCCESFULLY CREATED TABLE Movies
CREATE TABLE Movie_Genre (
movie_id INT,
genre_id INT,
PRIMARY KEY (movie_id, genre_id),
FOREIGN KEY (movie_id) REFERENCES Movies(movie_id)
);
我得到: SUCCESFULLY CREATED TABLE Movie_Genre
CREATE TABLE Genres (
genre_id INT,
genre_name VARCHAR(15),
PRIMARY KEY (genre_id),
FOREIGN KEY (genre_id) REFERENCES Movie_Genre(genre_id)
);
我得到:
Failed to add the foreign key constraint. Missing index for constraint 'Genres_ibfk_1' in the referenced table 'Movie_Genre'
uj5u.com熱心網友回復:
你的結構對我沒有任何意義。我假設您想存盤哪部電影具有哪種型別。因此,您的流派表不應該有任何外鍵。
你既需要movie_id并genre_id在你的外鍵Movie_Genre表:
CREATE TABLE Movie_Genre (
movie_id INT,
genre_id INT,
PRIMARY KEY (movie_id, genre_id),
FOREIGN KEY (movie_id) REFERENCES Movies(movie_id),
FOREIGN KEY (genre_id) REFERENCES Genres(genre_id)
);
并將您的外鍵放入您的流派表中:
CREATE TABLE Genres (
genre_id INT,
genre_name VARCHAR(15),
PRIMARY KEY (genre_id)
);
請注意,您必須在此Genres之前創建Movie_Genres。
uj5u.com熱心網友回復:
外鍵應該在 movie_genre 表上,而不是在流派表上
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/406051.html
標籤:
