我在存储多个用户的多个评论时遇到问题,例如在 Facebook 中(许多用户评论单个状态更新或照片等)。
问问题
104 次
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 回答