Ich versuche, eine Datenbank zu erstellen, in der n
Anzahl der Kategorien sowie ihre Unterkategorien sein könnte.Implementieren verschachtelter Reihenfolge in MySQL/PHP
Zuerst versuchte ich adjacency Modell-Datenbank wie diese
+-------------+----------------------+--------+
| category_id | name | parent |
+-------------+----------------------+--------+
| 1 | Electronics | NULL |
| 2 | Mobile | 1 |
| 3 | Washing Machine | 1 |
| 4 | Samsung | 2 |
+-------------+----------------------+--------+
zu schaffen, aber ich war vor einem Problem, wenn ein Knoten zu löschen, wie, wie die untergeordneten Knoten für gelöschte Knoten verwalten usw.
dann ich versuche Nested Order Set von Joe Celko
Tabellenstrukturen in jeder Figur zu implementieren:
Figure 1:
+----+-------------+-----+-----+
| id | name | lft | rgt |
+----+-------------+-----+-----+
| 1 | Electronics | 1 | 2 |
+----+-------------+-----+-----+
Figure 2:
+----+-------------+-----+-----+
| id | name | lft | rgt |
+----+-------------+-----+-----+
| 1 | Electronics | 1 | 4 |
+----+-------------+-----+-----+
| 2 | Mobile | 2 | 3 |
+----+-------------+-----+-----+
Figure 3:
+----+-----------------+-----+-----+
| id | name | lft | rgt |
+----+-----------------+-----+-----+
| 1 | Electronics | 1 | 6 |
+----+-----------------+-----+-----+
| 2 | Mobile | 2 | 3 |
+----+-----------------+-----+-----+
| 3 | Washing Machine | 4 | 5 |
+----+-----------------+-----+-----+
Figure 4:
+----+-----------------+-----+-----+
| id | name | lft | rgt |
+----+-----------------+-----+-----+
| 1 | Electronics | 1 | 8 |
+----+-----------------+-----+-----+
| 2 | Mobile | 2 | 5 |
+----+-----------------+-----+-----+
| 3 | Washing Machine | 6 | 7 |
+----+-----------------+-----+-----+
| 4 | Samsung | 3 | 4 |
+----+-----------------+-----+-----+
aber ich kann keinen neuen Knoten mit korrekten rgt
und lft
einfügen. Ich benutze dies, aber es erzeugt nicht die richtigen Werte von rgt
und lft
.
Wie wollen Sie die untergeordneten Knoten verwalten? Werden sie Kinder ihrer Großeltern oder werden einfach mit ihren Eltern gelöscht? –
Kind von Großeltern werden – jpm
Was passiert, wenn der Root-Knoten gelöscht wird, auch wenn versehentlich? –