在文章下的评论 部分如何写 (评论与回复)
sql数据库已经设置 post 和parentid了
这个要看你们的需求了,是一对一的,还是一对多的,多对多的,一般文章表和评论表是分开的,通过外键关联起来,还有一篇文章下,回复人对回复人的回复,这种情况你也可以换考虑一下,是不是需要再加一张表。
最近也在自己写,也是新手,目前是设计了一个评论表,感觉根据需求可以在评论表里加pid或者可以新设计一个关联评论的回复表
----------------------------
-- bbs_article
----------------------------
DROP TABLE IF EXISTS `bbs_article`;
CREATE TABLE `bbs_article` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`column_id` INT(11) DEFAULT NULL COMMENT '专栏ID',
`title` INT(11) NOT NULL COMMENT '文章标题',
`type` INT(11) NOT NULL COMMENT '类型: 1: 原创 2:转载 3:翻译',
`url` varchar(256) NOT NULL COMMENT '文章内容存放地址',
`view_count` INT(11) DEFAULT 0 COMMENT '浏览次数',
`desc` VARCHAR(128) DEFAULT NULL,
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态: 0:停用,1:启用(默认为1)',
`create_user` INT(11) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_user` INT(11) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`delete_user` INT(11) DEFAULT NULL,
`delete_time` datetime DEFAULT NULL,
`flag` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态: 0:删除,1:草稿 2: 审核中 3: 通过 4: 未通过 5: 禁止(封禁)',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='文章表';
----------------------------
-- bbs_article_comments
----------------------------
DROP TABLE IF EXISTS `bbs_article_comments`;
CREATE TABLE `bbs_article_comments` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`pid` INT(11) DEFAULT NULL COMMENT '父节点评论',
`article_id` INT(11) DEFAULT NULL COMMENT '文章ID',
`content` VARCHAR(256) NOT NULL COMMENT '评论内容',
`create_user` INT(11) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_user` INT(11) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`delete_user` INT(11) DEFAULT NULL,
`delete_time` datetime DEFAULT NULL,
`flag` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态: 0:删除,1:可用(默认为1)',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='文章评论表';
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
楼主能一下数据库字段的含义吗?
感觉文章表和评论表分开做比较好,如果评论量级大的话。
还有处理最好是使用队列去批量处理(异步),不然也会产生量级大导致数据库频繁读写的问题
建议做一个评论表,这个表里就存评论,包括所有评论以及回复,再做一个关系的派生表,用来存放评论以及回复还有文章的关系,这样便于分表以及减少对数据库的读写次数