我想从只有MySQL的树中获取孩子们的所有ID.
我有这样一张桌子:
ID parent_id name
1 0 cat1
2 1 subcat1
3 2 sub-subcat1
4 2 sub-subcat2
5 0 cat2
现在我试图以递归方式获取cat1(2,3,4)的所有子ID.有什么办法可以实现吗?
解决方法:
执行此操作有两种基本方法:邻接列表和嵌套列表.看看Managing Hierarchical Data in MySQL.
你有什么是邻接名单.没有办法用一个SQL语句递归抓取所有后代.如果可能的话,只需抓住它们并将它们全部映射到代码中.
嵌套集可以做你想要的,但我倾向于避免它,因为插入记录的成本很高,而且容易出错.