我有一个具有这种结构的MySQL数据库表:
table
id INT NOT NULL PRIMARY KEY
data ..
next_id INT NULL
Run Code Online (Sandbox Code Playgroud)
我需要按链表顺序获取数据.例如,给定这些数据:
id | next_id
----+---------
1 | 2
2 | 4
3 | 9
4 | 3
9 | NULL
Run Code Online (Sandbox Code Playgroud)
我需要按顺序获取id = 1,2,4,3,9的行.如何使用数据库查询执行此操作?(我可以在客户端完成.我很好奇是否可以在数据库端完成.因此,说这是不可能的(没有足够的证明)).
有一个终止点也是很好的(例如,在10次提取后停止,或者当行上的某些条件变为真时),但这不是必需的(可以在客户端完成).我(希望我)不需要检查循环引用.
我正在制作一个应用程序,多个用户可以在其他评论之上或之下发表评论 这不是线程类型的结构.这更像是在Word文档上进行协作.我无法设计这些条目的方法.
使用mySQL和PHP,按输入时间排序不起作用,也不按评论位置排序,因为如果用户在其他评论之间发布,则位置会发生变化.我不想为每个新条目重新排序评论位置(如果有数千个条目和数十个用户做同样的事情会怎么样).
设计这个的最佳方法是什么?