MySQL一对多的关系。不同的表,还是PHP处理?

时间:2013-03-26 15:28:06

标签: php mysql foreign-keys relationship

我正在创建一个MySQL数据库,其中有两个表,一个用于博客,另一个用于其位置。我所做的是blogs中的一个字段,它是一串由逗号分隔的位置ID:1,5,7。然后在我的PHP脚本中,我可以爆炸()该字符串并获取位置。

如果我想使用MySQL查询查找某个位置的所有博客,就会出现问题。

我应该为这段关系创建另一张桌子吗?也许博客1位置1,博客1位置5,博客1位置7.三行代表前一个例子。这样我只会在查询中选择该位置的博客。另一种方法是我必须选择所有博客并逐一检查它们。

您认为哪种更快更干净?

谢谢!

3 个答案:

答案 0 :(得分:2)

不同的桌子更清洁。事实上,它是唯一的选择,因为它是关系数据库的基础。

答案 1 :(得分:0)

表示关系的第三个表是唯一可行的方法。

答案 2 :(得分:0)

在关系数据库设置中执行此操作的最佳方法是第3个表,有时称为连接表,以处理博客和位置之间的关系。你所描述的是一种多对多的关系(或两种方式的一对多关系)。

Here是一个描述它比我好一点的链接。