2017-11-12 2 views
-1

Ich habe Kommentar System mit Tabelle wie folgt. Table Design ImageMysqli recursive löschen auf der gleichen Tabelle

Wenn eine Person löschen Sie den Kommentar dann die ganze Zeile mit diesem comment_parent assoziiert auch

gelöscht werden i PHP rekursive Funktion schreiben können, die die Zeile, und löschen Sie es aus.

Das Problem ist, wenn der Kommentar mehr als 100 von comment_parent hat, dann mehr als 100 Abfrage wird ausgeführt, um das zu löschen.

Ist es möglich, Kommentar mit seiner comment_parentid nur mit SQL-Abfrage zu löschen, wird es großartig sein, wenn jemand helfen kann, ich suche und CTE gefunden (aber es in mysqli nicht unterstützt, denke ich).

Antwort

0

Wenn Sie foreign key mit ON DELETE CASCADE für die Spalte comment_parentid einrichten, werden beim Löschen des übergeordneten Elements automatisch die untergeordneten Elemente (und ihre untergeordneten Elemente und deren untergeordnete Elemente usw.) gelöscht.