好吧,我正在尝试最近5天创建简单的注册,确认,登录PHP脚本,这是在UNI的任务,但我正在尝试最近5天,它不工作的事情是将朋友添加到朋友名单。孩子喜欢Facebook但更简单,它是我们作为小组作业获得的Android游戏。
我有一个TABLE users
我有字段ID, username, password, email, friends
。
对于外地朋友,我想将多个值保存为朋友的ID。在游戏中检索一些用户信息。
这个db和表在MySQL上,INSERT
或UPDATE
对我不起作用,INSERT
正在创建新记录,不能只插入现有记录的一列UPDATE
不能只插入值,而是删除旧值并在其中插入新值。
答案 0 :(得分:3)
看到这是一个多对多的关系(如果我是正确的)所以创建一个记录这个的单独表是明智的。
Table: Friends
userID
userID2 (or friendID)
你可以填写。
了解更多信息:http://www.singingeels.com/Articles/Understanding_SQL_Many_to_Many_Relationships.aspx
答案 1 :(得分:2)
通常你会添加一个带有字段的freinds表:
USER_ID friend_id
其中两个字段都是对用户表id字段的引用。
如果您 - 由于某种原因 - 需要将其作为用户表中的字段序列化id值并将其保存在那里。
注意:您将无法轻松加入表格,并且没有自动保持完整性的可能性。如果删除用户,将不会删除在“朋友”字段中对此用户的任何引用。这对于辅助朋友表和外键都是可能的。
答案 2 :(得分:2)
您在此处描述的是人与朋友之间的many-to-many关系。在关系数据库中实现这一点的规范方法是使用数据透视表,其中每一行代表两个人之间的“友谊”。您有两个字段来保存ID:
users
表:
id, name, email, etc.
friendships
表:
user_id_1, user_id_2
然后,如果用户1是用户2和用户3的朋友,则您在(1,2)
表中有记录(1,3)
和friendships
。如果您愿意,可以将这些视为互惠关系,或者您可以要求(2,1)
记录来表示用户2也是用户1的朋友。