mysql - with - variable php dans requete sql



Un parent est-il hors ligne dans le modèle de liste d'adjacence mysql? (1)

J'ai une table de base de données qui ressemble à ceci:

id | parent_id | status
1  | null      | 1
2  | null      | 0
3  | null      | 1
4  | 2         | 1
5  | 4         | 1

Donc, comme vous pouvez le voir, certaines catégories sont des enfants les uns des autres, et la profondeur est illimitée.

Ce que je veux savoir, est-il un moyen facile de savoir si des parents dans un arbre particulier a le status 0?

Je sais s'il y avait une profondeur fixe alors je pourrais juste faire autant de jointures, puis utiliser Min(status) pour savoir si l'une d'entre elles est définie sur 0, mais je ne sais pas comment faire cela avec une profondeur indéfinie ?


Avec le modèle de liste d'adjacence que vous utilisez, ce n'est pas possible parce que vous auriez besoin de remonter le graphique de manière récursive, ce que MySQL ne peut pas faire. Vous devriez envisager de basculer vos données vers le modèle des ensembles imbriqués où vous pouvez facilement obtenir le chemin vers la racine.





nested