创建表:
建表语句:
CREATE TABLE `comment` (
`id` varchar(64) NOT NULL,
`articleId` varchar(64) DEFAULT NULL,
`userId` varchar(64) DEFAULT NULL,
`username` varchar(64) DEFAULT NULL,
`content` varchar(64) DEFAULT NULL,
`parentId` varchar(64) DEFAULT NULL,
`level` varchar(2) DEFAULT NULL,
`status` varchar(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
插入数据:
insert into `comment` (`id`, `articleId`, `userId`, `username`, `content`, `parentId`, `level`, `status`) values('2','1001','534353','cwj','你也好啊','1','2','0');
insert into `comment` (`id`, `articleId`, `userId`, `username`, `content`, `parentId`, `level`, `status`) values('1','1001','342425','xjj','你好啊','','1','0');
insert into `comment` (`id`, `articleId`, `userId`, `username`, `content`, `parentId`, `level`, `status`) values('7','1001','821928','xsj','哈哈哈','2','2','0');
insert into `comment` (`id`, `articleId`, `userId`, `username`, `content`, `parentId`, `level`, `status`) values('4','1001','992882','jjw','我不好','1','2','0');
insert into `comment` (`id`, `articleId`, `userId`, `username`, `content`, `parentId`, `level`, `status`) values('5','1001','342425','xjj','真好','1','2','0');
insert into `comment` (`id`, `articleId`, `userId`, `username`, `content`, `parentId`, `level`, `status`) values('8','1001','009992','kka','谢个毛线','3','2','0');
insert into `comment` (`id`, `articleId`, `userId`, `username`, `content`, `parentId`, `level`, `status`) values('6','1001','342425','xjj','谢谢','2','2','1');
insert into `comment` (`id`, `articleId`, `userId`, `username`, `content`, `parentId`, `level`, `status`) values('3','1001','726626','cjj','谢谢你啊','2','2','0');
自关联查寻:
select distinct(c1.id),c1.parentId,c1.`articleId`,c1.`userId`,c1.`username` ,c1.`content` ,c1.`level` ,c1.`status`
from comment c1 left join (select * from comment ) c2 on c1.`id`=c2.parentId ;
得到的结果:
可以看得出id为1的是父评论,他的子评论有2,4,5;id为2的子评论有3,6,7; id为3子评论为8,
得到数据之后再前端渲染展示即可.