【发布时间】:2017-06-29 23:50:43
【问题描述】:
我的user表并没有什么异常,使用primary id字段作为用户id。
我的朋友表看起来像这样:
CREATE TABLE `friends` (
`uid` INT NOT NULL ,
`fid` INT NOT NULL ,
PRIMARY KEY (`user_id`, `friend_id`)
) ENGINE = MYISAM ;
我可以很容易地找到一个用户的朋友,即
SELECT fid FROM friends WHERE uid = 12
这基本上会以 id 形式返回朋友列表,但是我完全不确定哪种方法可以获取他们的用户名或其他数据。我听说过外键(当然还有加入),不知道如何实际选择我需要做的事情。
现在我做这个丑陋的方法:
SELECT username FROM users WHERE id IN (1,2,3,4..(other fid's)..)
看起来一点也不对。
我该怎么做?
【问题讨论】:
-
外键也是有用的东西,但在您的情况下不是必需的。它们提供了相对的数据库一致性