我看到了这段代码:
CREATE TABLE Favorites ( user_id INT NOT NULL, movie_id INT NOT NULL, PRIMARY KEY (user_id, movie_id), FOREIGN KEY (user_id) REFERENCES Users(user_id), FOREIGN KEY (movie_id) REFERENCES Movies(movie_id) );
我以前从未使用过“外键”关系关键字。
它是什么?
外键是对另一个表中的主键或表本身的引用。它用于所谓的参照完整性。基本上,你的表提供给记录被插入Favorites-你必须提供一个有效的user_id从Users表,并有效的movie_id从Movies表。使用外键强制,我无法从Users或 中删除记录Movies。如果我没有外键,我可以删除那些记录。然后,如果我SELECT ... JOIN在Favorites它上面做了一个就会坏掉。
Favorites
user_id
Users
movie_id
Movies
SELECT ... JOIN
参见维基百科。
外键描述了两个表之间的关系。它有很多好处: