我正在处理评论,我必须在列出评论时显示回复数 回复是第 n 级,如
parent
->child
-> child
-> child
Parent
-> child
->child
->child
我的 SQL 是:
CREATE TABLE IF NOT EXISTS `comment` (
`comment_id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'This is primary key of the table',
`parent_comment_id` bigint(11) NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`comment_id`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
INSERT INTO `comment` (`comment_id`, parent_comment_id`, `text`) VALUES
(1, 0, 'Parent'),
(2, 1, 'child'),
(3, 2, 'child'),
(4, 3, 'child'),
(5, 1, 'child2'),
(6, 0, 'Parent2'),
(7, 6,'child of parent2');
请帮助我了解如何获取回复数。
最佳答案
SELECT COUNT (*) FROM `comment` WHERE parent_comment_id = :id
将为您提供对评论 :id
的回复数。如果您需要整个线程中的评论数,则需要多次执行此查询,为:id
传入不同的值。或者,您可以使用 Nested Sets存储父子关系。
关于mysql - 我如何获取回复的授权计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13030195/