2013-02-28 44 views
0

我想知道需要傳遞什麼SQL來實現文章的多個類別。用於在MySQL和PHP中實現多個類別的n-n關係的SQL

我創建了3個表格。

ARTICLES: 
id, title, content 

CATEGORIES: 
id, name 

RELATION: 
article_id, cat_id 

我能夠成功地創建了第一個兩個表,以及將數據存入他們當用戶提交表單。但是,我不知道如何更新RELATION表。我在stackoverflow上搜索,我知道我需要使用多對多的關係。我有這個想法。但是,我不知道如何實際操作,即SQL。

這些分類顯然是在帖子發佈的時候添加的,所以我只需要在更新前兩個表之後更新此表。

如果有人能指導我做一個輔導或正確的方向,我會很棒。

+0

我相信這取決於'RELATION'表的目的。是否應該包含**每個**兩個ID(在它們被添加到「ARTICLES」和「CATEGORIES」之後)或者** **獨特的**之後? – 2013-02-28 18:55:51

+0

每雙Ids。那麼只有Mult類可以實現。 – Rohitink 2013-02-28 19:00:24

回答

0

假設發佈文章是同義詞,那麼每一次一個新的職位發佈和類別確定你需要「插入」記錄到「關係」表。

當您最初創建您需要確定主要外國鍵(約束)和表(如果需要的話)指定CASCADE是否應該啓用。

顯然你已經知道如何CREATE表和INSERT行。

您可能希望Google將PRIMARY KEY,FOREIGN KEY,CASCADE ON DELETE與MYSQL和PHP結合使用。

另請參閱以下幫助:How do I use on delete cascade in mysql?

0

這應該由您的SQL DBMS照顧。例如,如果您將關係的外鍵設置爲級聯刪除或更新,則當父項發生更改時,子項也將被刪除/更新。你能給我一個你希望對前兩個表進行更新的例子,以及由此產生的更新到RELATION表嗎?

+0

我希望系統能夠像博客一樣工作。你可能會想到博主或WordPress的。 – Rohitink 2013-02-28 18:56:24

+0

該響應沒有提供任何幫助。你要做的是管理一對多的關係,以防止更新和刪除異常。這似乎不是一個PHP,甚至SQL,但是數據庫正常化問題。您應該研究如何規範化數據庫並管理一對多關係,如下所示:http://databases.about.com/od/specificproducts/a/normalization.htm。如果您有特定的情況需要幫助,請告訴我。 – jason 2013-02-28 19:16:42