CREATE TABLE `article_comments`(`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`article_id` int DEFAULT NULL COMMENT '文章ID',
`user_id` int DEFAULT NULL COMMENT '评论者ID',
`comment_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '评论内容',
`like_count` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '评论喜欢数、点赞数',
`comment_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '回复类型: 0 针对文章的回复 1 针对评论的回复',
`reply_user_id` int DEFAULT NULL COMMENT '被回复的评论用户ID,comment_type为1时有效',
`reply_comment_id` int DEFAULT NULL COMMENT '被回复的评论ID,comment_type为1时有效',
`comment_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '评论发表时间',
`comment_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '评论发表时 IP 地址',
`root_comment_id` int DEFAULT NULL COMMENT '根评论id,comment_type为1时有效',
PRIMARY KEY (`id`))ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
各类评论的查询sql
# 对文章的回复 (article_id=1)
SELECT * FROM `article_comments` WHERE article_id=1 and comment_type=0# 对评论的回复 (article_id=1 , root_comment_id=1)
SELECT * FROM `article_comments` WHERE article_id=1 and comment_type=1 and root_comment_id=1# 对根评论的回复 (article_id=1 , root_comment_id=1)
SELECT * FROM `article_comments` WHERE article_id=1 and comment_type=1 and root_comment_id=1 and root_comment_id=reply_comment_id
# 对回复的回复 (article_id=1 , root_comment_id=1)
SELECT * FROM `article_comments` WHERE article_id=1 and comment_type=1 and root_comment_id=1 and root_comment_id != reply_comment_id