Ich habe eine MySQL-Tabelle wie folgt aus:PHP, MySQL, Kategorien und Unterkategorien - Das Löschen
CREATE TABLE categories
(
ID INT NOT NULL,
Name VARCHAR(100) NULL,
Parent INT NULL,
PRIMARY KEY (ID)
)Engine=InnoDB
Was ich möchte, ist das Löschen aller Kinder tun, sicherzustellen, wenn ein Elternteil gelöscht wird. Zuerst wollte ich es tun, indem ich einen Fremdschlüssel wie den der Tabelle hinzufügte:
ALTER TABLE categories ADD CONSTRAINT FOREIGN KEY Parent(Parent)
REFERENCES categories(ID) ON DELETE CASCADE
Das funktioniert nicht. Ich habe auch interne Beziehungen versucht, aber ohne Erfolg.
Eltern und ihre Kinder sind mit einer rekursiven PHP-Funktion verknüpft. Gibt es einen Weg in MySQL, um das Ziel zu erreichen, oder sollte es mit PHP gemacht werden?