gpt4 book ai didi

mysql - 在一张表中合并两个 friend 关系来源

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:53:39 24 4
gpt4 key购买 nike

我有用户的移动应用程序。一切都很简单 - 每个用户都有 idname

用户表

id name 
1 John
2 Dave
3 Jack

其中一些用户是 friend ,我的问题的主要目的是找到重建友谊表的最佳方法(唯一的规则是 user_id_1 < user_id_2)

友情表

id user_1_id user_2_id 
1 1 2
2 1 3
3 2 3

我怎么知道用户是 friend ?我从不同的来源(社交网络 A、社交网络 B)获取这些信息。 因此,如果两个用户至少在两个社交网络之一中是 friend - 他们在我的应用中就是 friend

现在我每天都在重新创建友谊表:

  1. 获取每个用户,为该用户创建空数组 NewFriends
  2. 从友情表中删除所有包含他id的记录
  3. 找到他在网络 A 中的所有 friend (A-friends)
  4. 对于每个 A-friends - 在我的应用中找到他们的 ID 并将他们添加到 NewFriends 数组
  5. 找到他在网络 B 中的所有 friend (B-friends)
  6. 对于每个 B-friends - 在我的应用程序中找到他们的 ID 并将他们添加到 NewFriends 数组(如果他们不存在)
  7. 从 Friendship 表中删除所有未在 NewFriends 数组中提及的好友记录
  8. 将 NewFriends 数组中之前不存在的所有友谊记录插入到 Friendship 表中

我怎样才能更好地解决这个任务?

最佳答案

首先,您可以使用 2 个网络中唯一的一张表(而不是使用 A-friends 表和 B-friends 表)and when select you could use distinct keyword步骤将是:

  1. 捕获每个用户
  2. 从友情表中删除所有包含他id的记录
  3. 在网络A中找到他所有的 friend ,并将其添加到(Temp-friends)
  4. 在网络B中找到他所有的 friend ,并将其添加到(Temp-friends)
  5. 对于每个不同的 Temp-friends - 在 NewFriends 表中添加记录
  6. 从 Friendship 表中删除所有未在 NewFriends 数组中提及的好友记录
  7. 将 NewFriends 数组中之前不存在的所有友谊记录插入到 Friendship 表中

关于mysql - 在一张表中合并两个 friend 关系来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43439041/

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