添加第三个表:
CREATE TABLE user_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)
)
这称为交集表或连接表,因为它将users表中的行连接到movies表中的行(如您所见,每列都是外键).它还定义了多对多关系,因为一个用户可以喜欢很多电影,一个电影可以被很多用户所喜欢.
当您为用户添加喜爱的电影时,您只需在此表中插入一行,其中包含用户的ID和电影的ID:
INSERT INTO user_favorites(user_id, movie_id) VALUES([user ID], [movie ID])
要查看用户最喜欢的电影:
SELECT movie_id FROM user_favorites WHERE user_id = [user ID]