这有点令人困惑。我无法找到如何为谷歌说它,我只是无法绕过逻辑来做到这一点。 我有"联系人"和"网站"我将数据存储在数据库中的表。我们需要有一个页面显示联系人信息以及"网站"它们与AND相关联,并且有一个关于"网站"的信息页面。并显示与之关联的联系人。 现在我有一个"联系人"其中包含与其关联的每个网站的逗号分隔ID以及"网站"也有与该网站相关联的每个联系人的逗号分隔ID。
当我使用关联的联系人创建新网站时。逻辑应该如何更新"相关网站" MySQL中的联系人行上的字段,同时还更新自己的"关联的联系人"场?
答案 0 :(得分:0)
我想,你说的是多对多的关系。
我假设您有一个像这样的表格设计:
tbl_contacts tbl_sites
id | full_name id | label
1 | John Doe 1 | my website
3 | Maria Doe 2 | super website
您需要一个表来“链接”表格。这是一个多对多表:
tbl_contacts2sites
id | contact_id | site_id
1 | 1 | 2
5 | 1 | 1
3 | 3 | 2
因此,John Doe被分配到两个站点,但Maria只被分配到“超级站点”。 这是设计人际关系的常用方法。你应该避免使用这种关系的逗号分隔列表。
答案 1 :(得分:0)
最好的解决方案是在此表中创建第三个表(contacts2sites)时,您有三列名为:id,siteid,contactid。
在此表中,您可以添加网站和联系人之间的每个连接。要查询数据,可以使用带有连接的mysql查询。
小例子: solution with joins