如果在MYSQL中这设计这样的跟帖表怎么实现
我感觉 对于跟帖来说是1对1的,但是这个是有继承关系的(帖子可以被引用,即跟帖继承了引用),貌似得用递归查询才行,ORACLE中是有的 START WITH and CONNECT BY语句  可以实现的.可是Mysql中怎么实现呀
   或是大家有什么更好的方法.别被我上面说的局限了您的思维

解决方案 »

  1.   

    论坛的跟帖是不一样的
       因为主题帖对回帖 1 - * 的关系
    比如网易上面的引用帖,当你引用了别人的帖子.然后下面的人还可以再引用你的帖子,虽然引帖是一对一,但我感觉这种内容是不可能一下存到DB中,还是通过某种关联查询出来的.我发现这儿也有引用,可是我没用过,不知道什么样子
    create table topic(
      id number,
      content  varchar,
      referenceID number
    );
    比方说就这个子,id为帖子的ID.content 为帖子的内容.referenceID是我引用帖子的ID 与本表中的ID相关联,同时也可以为空,即没有跟帖 为自发帖
     比方说一个帖子引用了上一个帖子,有十层的引用.如何用更简便的方法查询出来
      

  2.   

    我发现这儿也有引用
    CSDN 的引用,是直接复制内容保存,具体的记录之间没有任何关系。
    == 思想重于技巧 ==
      

  3.   

    估计表设计中 回复 内容 以特殊标志 记录 引用的topic 比如test test test  <ref = topicid1> test test set tes tet <ref=topicid2>然后产生HTML输出的时候 替换为 topicid的内容。
    == 思想重于技巧 ==
      

  4.   


    如果单独放到一张表是那岂不是要多存一次,没那么费劲吧
    我已经看到一些了,帖出来大家共勉一下SELECT TEACHER 
    FROM C AS X 
    WHERE UNIQUE(SELECT TEACHER 
    FROM C AS Y 
    WHERE Y.TEACHER=X.TEACHER);
    MYSQL递归查询
    关键字: MYSQL 
    表结构如下: SELECT * FROM parents; 
    +------+--------------+-------------+ 
    | P_ID | P_NAME | P_PARENT_ID | 
    +------+--------------+-------------+ 
    | 1 | me | 2 | 
    | 2 | dad | 3 | 
    | 3 | granddad | NULL | 
    | 4 | moi | NULL | 
    | 5 | kiddie1 | 4 | 
    | 6 | kiddie2 | 4 | 
    | 7 | grandkiddie1 | 5 | 
    +------+--------------+-------------+ 
     
    递归查询语句: SELECT p2.P_NAME as kids 
    FROM parents AS p1, parents AS p2 
    WHERE p1.P_ID = p2.P_PARENT_ID 
    AND (p1.P_ID=4 OR p1.P_PARENT_ID=4); 
    +--------------+ 
    | kids | 
    +--------------+ 
    | kiddie1 | 
    | kiddie2 | 
    | grandkiddie1 | 
    +--------------+