-5

我在存储多个用户的多个评论时遇到问题,例如在 Facebook 中(许多用户评论单个状态更新或照片等)。

4

2 回答 2

2

要完成诸如 facebook 评论之类的事情,您需要多个表。
简化版本将具有以下类型的架构:

+-------------+ 
| User        |
+-------------+
| user_id     |
| name        |
| email       |
+-------------+

+-------------+ 
| Activities  |
+-------------+
| activity_id |
| type        |
| content     |
| user_id     |
| date        |
+-------------+

+-------------+ 
| Comments    |
+-------------+
| comment_id  |
| activity_id |
| user_id     |
| comment     |
| likes       |
| date        |
+-------------+

然后检索活动的评论,您的查询看起来像

SELECT * FROM Activity
NATURAL JOIN Comments
NATURAL JOIN Users
WHERE activity_id = ?
ORDER BY Comments.date

- 雷尔福

于 2013-06-09T19:27:56.627 回答
0

每条评论都有自己的 ID。这应该是 MySQL 数据库中的 auto_increment 字段。因此,数据库中的“评论”表应该包含评论 ID、用户 ID、对象 ID(照片、状态等)、时间戳等字段。

然后,您还将为用户和对象创建单独的表,它们将具有自己的 id 字段。这样,您可以通过评论的 user_id 与用户的 id 匹配,将评论与用户匹配。

于 2013-06-09T16:57:04.597 回答