MYSQL - 插入表或更新,如果有什么不同

时间:2014-02-01 13:52:03

标签: php mysql sql

Okey,所以我试图将登录的facebook用户朋友列表存储到MYSQL表中。

我存储登录的用户数据:ID和名称; 并存储登录的用户好友列表:ID和名称;

所以表格如下:

['facebook_user_id']  ['facebook_user_name'] ['facebook_friend_id']  ['facebook_friend_name']
123123123123            User1                  23424234234234          User 20
231321231231            User2                  23424234234234          User 20

所以你可以看到user1和user2有同一个朋友,如果用户朋友'User 20'更改了他/她的名字,我需要更新信息,但仅限登录用户,所以如果user1登录效果只会影响他/她。

但是如果user1获得了新朋友,我需要插入新朋友并更新,如果有任何变化。

我应该如何使用PHP?我见过类似的东西,但对我来说效果不好。

    INSERT INTO table (facebook_user_id, facebook_user_name, facebook_friend_id, facebook_friend_name) 
VALUES ('facebook_user_id' (to short it down) .....)

ON DUPLICATE KEY UPDATE (facebook_user_id=facebook_user_id (and for every entry)....)

提前致谢,任何指针都会帮助我。

1 个答案:

答案 0 :(得分:2)

我认为这就是你的意思。 我正在尝试将用户A Facebook好友保存到表格中。 当有人使用Facebook登录时,我正在存储,他们的名字和Facebook ID。以及他们的朋友,Facebook身份和姓名。

我就是这样做的。如果您需要生成的架构代码,请告诉我,这是我的解决方案。

- 创建三个表:注册用户,好友,查找表

表1:注册用户

[id, userId, facebookUid]

表2 好友

[id, buddyid, buddy name]

表3 :您需要一个查找表。

[id, userId, buddyid]

<强>步骤:

  1. UserA使用Facebook登录时,请将他们的好友保存到buddies表中
  2. 上面的方法您不必担心重复的名称。如果有人更新了他们的名字,它将全面更改。
  3. 您可以使用join查找谁有好友。