1

重複の可能性:
多対多の関係の問題

映画のテーブルとカテゴリのテーブルがあります。映画のカテゴリーをもう一つ登録したいのですが。そして、いくつかの映画のカテゴリ。つまり、リレーション N: N です。php と Mysql でそれを行うにはどうすればよいですか?

例: カテゴリ 1 -> 映画 1 と映画 2

動画 2 -> カテゴリ 1 とカテゴリ 2

4

2 に答える 2

3

対多の関係の場合、ジャンクション テーブルと呼ばれる 3 番目のテーブルが必要です。

だからそれはそのように見えるでしょう

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
于 2012-11-23T17:07:21.807 に答える
2

その関係にはテーブルが必要です。このような:

MovieToCategory
    ID
    CategoryID
    MovieID

または、複合プライマリ インデックスを作成して、各ムービーをカテゴリの組み合わせに 1 回だけ許可することもできます。

MovieToCategory
    CategoryID
    MovieID
于 2012-11-23T17:07:06.363 に答える