我有一个具有这种结构的 MySQL 数据库表:
table
id INT NOT NULL PRIMARY KEY
data ..
next_id INT NULL
我需要按链表的顺序获取数据。例如,给定以下数据:
id | next_id
----+---------
1 | 2
2 | 4
3 | 9
4 | 3
9 | NULL
我需要按顺序获取 id=1、2、4、3、9 的行。如何使用数据库查询来做到这一点?(我可以在客户端做到这一点。我很好奇这是否可以在数据库端完成。因此,说这是不可能的(有足够的证据))。
最好有一个终止点(例如,在 10 次获取后停止,或者当行上的某些条件变为真时),但这不是必需的(可以在客户端完成)。我(希望我)不需要检查循环引用。