2012-11-23 42 views
0

可能重複:
problem in many to many relationshipN:N關係的Mysql

我有電影的表和類別表。我想爲電影註冊一個類別。還有一些電影類別。也就是說,關係N:N。我如何在php和Mysql中做到這一點?

例如: Categorie 1 - >電影1 和電影2

電影2 - > Categorie 1 和Categorie 2

+2

你在叫'movie_categories'之間創建一個表,存儲每個'movie'和'category'之間的關係。 –

+0

您是否嘗試過搜索功能,關於多對多關係的問題還有很多! – markus

回答

2

你需要一個表這種關係。就像這樣:

MovieToCategory 
    ID 
    CategoryID 
    MovieID 

另外,您可以創建一個時間只允許每個電影類組合的複合主索引:

MovieToCategory 
    CategoryID 
    MovieID 
+0

感謝您的寶貴迴應,並將您的寶貴時間用於幫助我。 –

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 
+0

非常感謝您的寶貴時間和幫助我。 –

+0

@ThainãMonteiro很高興幫助:)不要忘記標記幫助你的答案。你可以檢查答案旁邊的白色檢查 – Marc