【发布时间】:2015-12-29 10:07:25
【问题描述】:
我有一个网站,其中有一个用户表和一个电影表。我正在创建一个收藏夹表,以便用户可以将电影保存到他们的收藏夹列表中。问题是关于我被建议使用下面的收藏夹表:
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)
);
我注意到在阅读外键时有一个“ON DELETE”和“ON UPDATE”选项,您可以在其中设置限制、级联等...
如果用户收藏了许多电影,然后从电影表中删除了其中一部电影,如果将外键设置为“CASCADE”会发生什么?收藏夹表中的任何行也会被删除吗?如果外键设置为“RESTRICT”会怎样?
我只是在做一个基本的解释,因为我目前还没有完全理解这一点。
【问题讨论】:
-
那么手册就是你的朋友MySQL manual
标签: mysql foreign-keys