gpt4 book ai didi

php - 在 PHP MySQL 中处理多对多关系的最佳方法

转载 作者:行者123 更新时间:2023-11-29 04:59:40 24 4
gpt4 key购买 nike

我正在寻找在 PHP 和 MySQL 中处理多对多关系数据库的最佳方法。

现在我有 2 个表:

用户(id、user_name、first_name、last_name)
连接(id_1,id_2)

User 表中,id 在添加时自动递增,user_name 是唯一的,但可以更改。不幸的是,我无法控制 user_name 及其更改能力,但我必须考虑到这一点。

Connections 表显然是 user1 和 user2 的 id。

连接表需要考虑这些可能的关系:

user1 --> user2 (user 1 friends with user 2 but not user2 friends with user1) 
user2 --> user1 (user 2 friends with user 1 but not user1 friends with user2)
user1 <--> user2 (user 1 and user 2 mutually friends)
user1 <-!-> user2 (user 1 and user 2 not friends)

那部分不是问题,我遇到的问题是当这些关系成批发生变化时保持它们的唯一性。

可能的解决方案 1:删除用户 1 的所有关系并使用更新后的列表读取它们。我认为这对我的需求来说可能太慢了。

解决方案 2?还有其他人遇到这个问题吗?我应该如何最好地处理这个问题?

更新:区分关系:

我处理这样的关系:

user1, user2
user1, user3
user2, user1

在该示例中,以下内容为真:
user1 关注 user2 和 user3
user2只关注user1不关注user3
user3 既不关注 user1 也不关注 user2

最佳答案

如果您遇到唯一性问题,您可以在 Connections 上使用复合主键,同时使用两列(id_1、id_2)。

关于php - 在 PHP MySQL 中处理多对多关系的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2723962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com