Sql 创建好友图

Sql 创建好友图,sql,graph,friend,Sql,Graph,Friend,我想为我的网站创建一个朋友列表,它应该存储在一个数据库表中,下面是我认为最适合的表结构 CREATE TABLE `sdt_friend_graph` ( `user` INT(11) NOT NULL, `friend` INT(11) NOT NULL, `status` ENUM('requested','accepted') COLLATE utf8_unicode_ci DEFAULT NULL, `requested_on` DATETIME DEFAULT NULL

我想为我的网站创建一个朋友列表,它应该存储在一个数据库表中,下面是我认为最适合的表结构

CREATE TABLE `sdt_friend_graph` (
  `user` INT(11) NOT NULL,
  `friend` INT(11) NOT NULL,
  `status` ENUM('requested','accepted') COLLATE utf8_unicode_ci DEFAULT NULL,
  `requested_on` DATETIME DEFAULT NULL,
  `accepted_on` DATETIME DEFAULT NULL,
  PRIMARY KEY (`user`,`friend`)
)
我只是想知道我的方法是否可行,或者是否有更好的方法来提高效率,我愿意接受建议


关于,

您的表结构看起来很好,我只需将user添加为自动增量字段,并将名称更改为friendid。。。仅用于语义。

我如何使
用户
自动增量它应该包含生成好友请求的
用户id
,可能是随机的。我想,如果我错了或误解了您,请纠正我。谢谢你的回复。你是对的,如果你想存储现有的用户不需要自动递增,我感到困惑是的,你确实是正确的。我遗漏的一件事是枚举字段,也许将谢绝添加到列表中会有所帮助。干杯