如果在MYSQL中这设计这样的跟帖表怎么实现
我感觉 对于跟帖来说是1对1的,但是这个是有继承关系的(帖子可以被引用,即跟帖继承了引用),貌似得用递归查询才行,ORACLE中是有的 START WITH and CONNECT BY语句 可以实现的.可是Mysql中怎么实现呀
或是大家有什么更好的方法.别被我上面说的局限了您的思维
我感觉 对于跟帖来说是1对1的,但是这个是有继承关系的(帖子可以被引用,即跟帖继承了引用),貌似得用递归查询才行,ORACLE中是有的 START WITH and CONNECT BY语句 可以实现的.可是Mysql中怎么实现呀
或是大家有什么更好的方法.别被我上面说的局限了您的思维
因为主题帖对回帖 1 - * 的关系
比如网易上面的引用帖,当你引用了别人的帖子.然后下面的人还可以再引用你的帖子,虽然引帖是一对一,但我感觉这种内容是不可能一下存到DB中,还是通过某种关联查询出来的.我发现这儿也有引用,可是我没用过,不知道什么样子
create table topic(
id number,
content varchar,
referenceID number
);
比方说就这个子,id为帖子的ID.content 为帖子的内容.referenceID是我引用帖子的ID 与本表中的ID相关联,同时也可以为空,即没有跟帖 为自发帖
比方说一个帖子引用了上一个帖子,有十层的引用.如何用更简便的方法查询出来
CSDN 的引用,是直接复制内容保存,具体的记录之间没有任何关系。
如果单独放到一张表是那岂不是要多存一次,没那么费劲吧
我已经看到一些了,帖出来大家共勉一下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 |
+--------------+