我有一张电影表和一个类别表。我想再为电影注册一个类别。几个电影的类别。也就是说,关系N:N。我如何在php和Mysql中做到这一点?
例如: 分类1 - >电影1 和电影2
电影2 - >分类1 和分类2
答案 0 :(得分:2)
你需要一张表来表达这种关系。像这样:
MovieToCategory
ID
CategoryID
MovieID
或者,您可以创建一个复合主索引,仅允许每个影片进行一次类别组合:
MovieToCategory
CategoryID
MovieID
答案 1 :(得分:2)
对于many to many relationship,您需要第三个名为junction table
的表格所以它看起来像那样
Movie
id | desc
Category
id | desc
MoviesCategories
id | movieID | categoryId
您的选择将在MoviesCategories
上,并且看起来像这样
SELECT *
FROM
MoviesCategories INNER JOIN Category ON MoviesCategories.CategoryId = Category.Id
INNER JOIN movie ON MoviesCategories.MovieID = Movie.ID