我打算创建一个简单的社交网站。所以...我想知道Facebook如何存储帖子评论。
Facebook商店帖子及其评论在同一个数据库表行中,然后它们如何在一个表行字段中存储一长串注释。或者是每个帖子都有每个数据库表,以便可以在该表行中对该帖子进行评论。
CMS这样的简单社交网站的最佳数据库结构是什么。但它可以处理大量用户。
请帮我解决这个问题。谢谢。
你可以做的小例子:
表用户:
users
--------
id
name
表评论:
comments
--------
id
comment_text
posted_by
posted_to
date_posted
当ID为342的用户向用户783的个人资料发布评论时,您可以存储评论,如下所示:
INSERT INTO comments(comment_text, posted_by, posted_to, date_posted)
VALUES ('Hi!', 342, 783, '2013-10-16 11:17:00');
然后,当您选择要在用户的个人资料中显示的评论时,只需将uploaded_by和posted_to列与users表中的相关ID一起加入即可。
我猜他们有一张包含所有帖子和post_id的表格。然后他们有另一张包含所有评论的表。在comments_table中,他们有一行post_id,所以他们可以分配它。
所以,
每个Post都有一个post_id,其中包含状态文本,编写它的用户的ID等等,每个评论都有一个comment_id和一个post_id,用于将其分配给帖子。
这就是我猜的。我不能肯定地告诉你。
简单示例UPDATE
职位表
post_id | user_id | status_text | datetime
意见表
comments_id | user_id | post_id | comments_text | datetime
我想评论你试试这个表它的视频歌曲表,它收集一个轨道ID名称列
CREATE TABLE `tbl_video_comments` (
`comment_id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(20) DEFAULT NULL,
`track_id` int(11) NOT NULL,
`datetime` datetime NOT NULL,
`comment` varchar(100) NOT NULL,
PRIMARY KEY (`comment_id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1
你需要的只是现在的关系和三个表。只需将userid作为主键保存在用户表中,并使其在您创建的每个表中都是外来的。这将帮助您根据用户ID获取所有内容。