我有一个 MySQL 表,它表示树形 GUI 组件的数据,这是我的表的结构:
treeTable (
id INT NOT NULL PRIMARY KEY,
parentId INT,
name VARCHAR(255)
);
parentId
是一个自引用外键。
现在我想编写一个存储过程,它获取节点 ID 并返回包含该节点及其所有父节点的结果集。
例如,假设我的表中填满了以下数据:
1, null, 'root'
2, 1 , 'level_1'
3, 2 , 'level_2'
现在我想获取节点 3 的所有父节点(节点 1 和 2)并返回一个包含所有树记录的结果集。有人可以帮帮我吗?
最佳答案
好问题。在 Oracle 中,您会使用 CONNECT BY 之类的东西。
由于您使用的是 MySQL,我建议您更改数据结构以有效地回答该查询。 Here是一些想法。
关于mysql - 如何选择分层 mysql 表中节点的所有父节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2594778/