嵌套评论的一个数据库设计技巧

日期: 2010-10-12 作者:佚名 来源:TechTarget中国

  要实现嵌套评论,只要在表里加一个parent_id字段即可,添加评论的时候很方便,不过显示起来就会慢/麻烦一点。其实只要在表里再添加一个字段,就可以高效/快速的显示评论了,这个字段就是thread。看一下SQL构造语句

  CREATE TABLE IF NOT EXISTS `comments` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `parent_id` int(11) NOT NULL,
  `topic_id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `username` varchar(64) NOT NULL,
  `created` int(11) NOT NULL,
  `changed` int(11) NOT NULL,
  `status` int(11) NOT NULL,
  `content` text NOT NULL,
  `thread` varchar(30) NOT NULL,
  PRIMARY KEY (`id`),
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

  thread类似这样

  //存储在thread字段中的数据类似下面
  // 01/
  // 01.01/
  // 01.02/
  // 01.0a/
  // 02/
  加上’/’是为了保证按thread排序后,01在子thread的前面,因为’/’的ascii值大于’.’

  这样查询时直接下面的SQL就行了

  

    SELECT * FROM `comments` WHERE topic_id = 1 ORDER BY thread

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

佚名
佚名

相关推荐