我有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