社区评论系统设计

数据库设计

sql 复制代码
CREATE TABLE `comment`(
    `id`          bigint(20) unsigned NOT NULL COMMENT '评论ID(雪花算法生成)',
    `biz_id`      bigint(20) NOT NULL COMMENT '业务ID(如微博ID)',
    `biz_type`    tinyint(4) NOT NULL DEFAULT 1 COMMENT '业务类型(1=微博,2=视频,3=文章)',
    `user_id`     bigint(20) NOT NULL COMMENT '评论用户ID',
    `content`     varchar(1000) NOT NULL COMMENT '评论内容(过滤敏感词后)',
    `parent_id`   bigint(20) NOT NULL DEFAULT 0 COMMENT '父评论ID(0=一级评论,>0=回复)',
    `root_id`     bigint(20) NOT NULL DEFAULT 0 COMMENT '根评论ID(所有层级回复共享根评论ID)',
    `like_count`  int(11) NOT NULL DEFAULT 0 COMMENT '点赞数',
    `status`      tinyint(4) NOT NULL DEFAULT 1 COMMENT '状态(1=正常,0=删除,2=审核中)',
    `create_time` datetime      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`),
    KEY           `idx_biz_root` (`biz_type`,`biz_id`,`root_id`,`status`,`create_time`),
    KEY           `idx_root_parent` (`root_id`,`parent_id`,`status`,`create_time`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '评论表(含回复,统一存储)';
相关推荐
2301_790300967 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
zfoo-framework7 小时前
帧同步和状态同步
java
charlotte102410247 小时前
高并发:关于在等待学校教务系统选课时的碎碎念
java·运维·网络
m0_736919107 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
亓才孓7 小时前
[JDBC]PreparedStatement替代Statement
java·数据库
_F_y8 小时前
C++重点知识总结
java·jvm·c++
打工的小王8 小时前
Spring Boot(三)Spring Boot整合SpringMVC
java·spring boot·后端
毕设源码-赖学姐8 小时前
【开题答辩全过程】以 高校体育场馆管理系统为例,包含答辩的问题和答案
java·spring boot
我真会写代码8 小时前
SSM(指南一)---Maven项目管理从入门到精通|高质量实操指南
java·spring·tomcat·maven·ssm
m0_466525298 小时前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全