SELECT `update`, `date` from updates, users_friends
WHERE updates.userID = users_friends.friendID
and users_friends.userID = "5"
and users_friends.status = "2"
我意识到我试图调用一个不存在的更新。为了解决这个问题,我创建了一个新的更新,这次是由ID为6的用户编写的。
-
我正在建立一个社交网站。我希望显示朋友的更新列表。我的数据库包含两个表来实现此目的:updates和users_friends。
这是我的问题:
SELECT'update' 来自更新 在哪里'updates.userID' (选择'friendID' 来自users_friends 'users_friends.userID'= $ myID 和'status'= 2);
(状态值2表示他们的友谊被批准)
-
updates
CREATE TABLE IF NOT NOT EXISTS updates
(
update
文本NOT NULL,
date
时间戳NOT NOT DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
userID
int(11)NOT NULL,
PRIMARY KEY(date
,userID
),
KEY fk_updates_users1
(userID
)
)ENGINE = InnoDB DEFAULT CHARSET = utf8;
-
users_friends
CREATE TABLE IF NOT NOT EXISTS users_friends
(
userID
int(11)NOT NULL,
friendID
int(11)NOT NULL,
status
int(1)NOT NULL DEFAULT'0',
PRIMARY KEY(userID
,friendID
),
KEY fk_users_has_friends_users1
(userID
)
)ENGINE = InnoDB DEFAULT CHARSET = utf8;
我遇到的问题是我总是得到一个空集。我已将更新表的示例更新添加到userID = 5,并将示例行添加到users_friends表,其中用户6是用户5和myID = 6的朋友。
我的逻辑是否正确?我做错了什么?
答案 0 :(得分:0)
SELECT `update`, `date` from updates, users_friends
WHERE updates.userID = users_friends.friendID
and users_friends.userID = "5"
and users_friends.status = "2"
我意识到我试图调用一个不存在的更新。为了解决这个问题,我创建了一个新的更新,这次是由ID为6的用户编写的。