我有一个这样的 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来完成?