ich eine MySQL-Tabelle ihre Beziehung präsentiert mit 2-Feld habe, wie die folgende Tabelle +-------+-----------+---------+ | id | parent_id | name | +-------+-----------+---------+ | 1 | NULL | A | +-------+-----------+---------+ | 2 | 1 | B | +-------+-----------+---------+ | 3 | 2 | C | +-------+-----------+---------+
, wenn ich Namen aus der Tabelle auswählen, in dem id = 1, es mir das Ergebnis sagen wird, ist A, weil die parent_id von A ist NULL;Gibt es eine Schleife in msyql
, wenn ich Namen aus der Tabelle auswählen, in dem id = 3, wird es mir endlich sagen Ergebnis ist ein, weil B die Eltern von C und A ist die Mutter von B.
In PHP können wir es mehrfach suchen bis die parent_id NULL ist. Aber gibt es eine schnelle innere Schleife SQL-Abfrage, um dieses Problem zu lösen?
Was Sie wollen, ist https : //dev.mysql.com/doc/refman/8.0/en/with.html#common-table-expressions-recursive-examples, aber es ist erst ab MySQL 8.0 verfügbar. –
Ich denke, Sie suchen nach Mysql Rekursion. –