树的深度我目前在SQLite的表,看起来像下面,形成一个树状结构:如何递归计算的SQLite
+-----+-----------+---------------+
| _id | parent_id | tree_depth |
+=====+===========+===============+
| 1 | 0 | 0 |
| 2 | 1 | (should be 1) |
| 3 | 2 | (should be 2) |
+-----+-----------+---------------+
我有非常有限的SQLite的经验,这个表相当大,所以我不愿意手动填写它。是否有可用于更新tree_depth列的查询,以便正确表示该节点处树的深度?我尝试选择父母的树深度和增量,但由于某种原因,它将所有设置为1.
任何意见,将不胜感激。
编辑:查询我试图是:
UPDATE table SET tree_depth = (SELECT p.tree_depth FROM table JOIN table p ON p._id=table.parent_id) +1
这似乎并不工作,因为SQLite不容许FROM UPDATE中。此外,a.tree_depth应该是b.tree_depth + 1.但是,我无法正确加入它。 –