我有2個表:「目錄」和「按」是「按」子表和我有他們通過id_catalog相關(指向目錄中的「id」)「新聞」。MySQL:關聯和不關聯表之間的差異
我設法在目錄中一個字段(「名稱」)像這樣的「新聞」孩子的測試porpouses:
$query="SELECT catalog.book_title, press.* FROM catalog, press WHERE press.id_catalog = $id";
$book_title = mysql_result($result,$i,"_catalog.book_title");
$media_name = mysql_result($result,$i,"_press.media");
$type = mysql_result($result,$i,"_press.type");
$url = mysql_result($result,$i,"_press.url");
echo $book_title $media_name $type $url;
$book_title = mysql_result($result,$i+1,"catalog.book_title");
$media_name = mysql_result($result,$i+1,"press.media");
$type = mysql_result($result,$i*+1*,"press.type");
$url = mysql_result($result,$i*+1*,"press.url");
echo $book_title $media_name $type $url;
在查詢中,$ id則是受的get_ [] 它通過返回期望的內容
下面是問題:如果我不在數據庫中執行關係,該怎麼辦? (使用id_catalog上的INDEX) 查詢是否可用?
我在回答這個問題,因爲我認爲如果我不做這個關係,我可以匹配這些字段並使它工作,不管怎麼樣?
如果你上面的查詢將返回你期望什麼,這是偶然的。在查詢本身中沒有任何關係,並且在表定義中定義一個FOREIGN KEY不會導致查詢中的鍵自動關聯。 – 2013-02-15 23:11:11
您的查詢正在返回笛卡爾產品。真的,你需要做'從按聯接目錄ON press.id_catalog = catalog.id WHERE press.id_catalog = $ id' – 2013-02-15 23:12:22