社区评论系统设计

数据库设计

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 '评论表(含回复,统一存储)';
相关推荐
黑色的白兔No14 分钟前
deepin 25安装mysql
数据库·mysql·debian
CoderYanger10 分钟前
Java EE 进阶:2.3 JavaScript 综合案例
java·前端·javascript·css·职场和发展·java-ee·html
starzy199013 分钟前
Flink TimeWindow 详解及代码实现:从三种时间语义到滚动与滑动窗口
java·服务器·flink
重生之小比特15 分钟前
【Java SE】类和对象(一)
java·ide·intellij-idea
cspttty18 分钟前
2026年财务分析岗JD中的Excel、SQL、BI与业务分析要求
大数据·sql·excel
cc57250265319 分钟前
2026 秋招采购数据分析校招 JD、面试真题与项目准备|2027 届求职复盘
数据库
captain37621 分钟前
网络原理(4)-TCP
java·服务器·网络·网络协议·tcp/ip·java-ee
cspttty23 分钟前
HR数字化校招准备路线:Excel、SQL、BI和AI工具怎么学
人工智能·sql·excel
青山木24 分钟前
枚举类DP进阶:完全平方数与零钱兑换
java·数据结构·算法·leetcode·动态规划
小七在进步27 分钟前
类和对象(二)
java·开发语言