Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie finde ich rekursiv alle IDs von Kindern?

Dafür gibt es zwei grundlegende Methoden:Adjazenzlisten und verschachtelte Listen. Sehen Sie sich Managing Hierarchical Data in MySQL an .

Was Sie haben, ist eine Adjazenzliste. Nein, es gibt keine Möglichkeit, alle Nachkommen mit einer einzigen SQL-Anweisung rekursiv zu erfassen. Wenn möglich, nimm sie einfach alle und bilde sie alle im Code ab.

Verschachtelte Sätze können tun, was Sie wollen, aber ich neige dazu, sie zu vermeiden, weil die Kosten für das Einfügen eines Datensatzes hoch und fehleranfällig sind.