MySQL递归查询问题,求助
表设计这样,parent_id跟news_comment_id关联,根据news_comment_id查出这个评论下所有的子评论
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
表设计这样,parent_id跟news_comment_id关联,根据news_comment_id查出这个评论下所有的子评论
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
写个函数吧。
添加path字段 :使用格式如:id1/id2/id3/id4 来表示其层级关系。
这样可以一次抓出以id1为祖先的所有评论。其他的交给程序来做。
我大概会这样做,分两次查询。
第一次查询主评论(parent_id无值的,一般都分页,不会太多)普通分页查询limit就行,查完后需要循环一下取出主评论id
第二次查回复的子评论(parent_id有值的),使用in查询所有(你上面说的所有)子评论,parent_id需要做索引。
以上只适用于两级评论。
SELECT A.* FROM TBL_TST A,
(SELECT NEWS_COMMENT_ID FROM TBL_TST B WHERE PARENT_ID IS NULL) B
WHERE A.PARENT_ID = B.NEWS_COMMENT_ID;
····就是根据news_commnet_id查出下属所有的子评论
结合一下就行的 select * from tbl a (select * from tbl) b ……实在不知道你想搞啥
一个人都没有