У меня есть таблица MySQL, как это:PHP, MySQL, категории и подкатегории - делеция
CREATE TABLE categories
(
ID INT NOT NULL,
Name VARCHAR(100) NULL,
Parent INT NULL,
PRIMARY KEY (ID)
)Engine=InnoDB
То, что я хотел бы сделать, это обеспечить удаление всех детей, когда родитель будет удален. Сначала я хотел сделать это, добавив в таблицу внешний ключ:
ALTER TABLE categories ADD CONSTRAINT FOREIGN KEY Parent(Parent)
REFERENCES categories(ID) ON DELETE CASCADE
Это не работает. Я также пробовал внутренние отношения, но безуспешно.
Родители и их дети связаны с рекурсивной функцией PHP. Есть ли способ в MySQL достичь цели, или это должно быть сделано с помощью PHP?