说我有下表:
TABLE: category
- category_id (PK)
- parent_id (FK)
- name
给定category_id的值,如何返回给定的category_id及其所有后代?
答案 0 :(得分:3)
如果你想要单级别,你可以在条件category_id = id OR parent_id = id
上进行SELECT - 但是使用MySQL,你无法通过单个查询获得完整的树。
你可以编写一个存储过程来检查所有中间结果并选择子子,但这真的不是很整洁。
相反,您可以重新设计表格。在MySQL开发人员站点上,有一个关于如何在表中存储分层数据的nice article,并提供了一种比仅使用parent_id更灵活的设计。