我可能会解释这个错误但是这里有。我想从MySql数据库创建一个文件夹系统。
文件夹1
---子文件夹1
---子文件夹2
---子文件夹3
----子子文件夹1
----子Sub文件夹2
等
现在全部加载到我的MySql数据库中,如下所示:
现在假设我要删除ID 2(文件夹2),但在文件夹2下是ID 7(测试1),在该文件夹下是ID 8(测试2)。所以在文件夹树视图中它看起来像这样:文件夹2 /测试1 /测试2
我的问题是如何编写PHP / MySql脚本来删除ID 2下的所有内容,而不必复制我的MySql代码3次删除所有内容? (并且每个文件夹和子文件夹中可能有更多文件夹需要删除,但它们都属于ID 2)
提前感谢大家!
答案 0 :(得分:2)
ALTER TABLE `table` MODIFY COLUMN `id` INT UNIQUE NOT NULL AUTO_INCREMENT;
ALTER TABLE `table` MODIFY COLUMN `child` INT NOT NULL;
ALTER TABLE `table` ADD FOREIGN KEY (`child`) REFERENCES `table` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
Mysql是一个 R DBMS。使用该词(关系)的R,它就是为此做的。
当删除父项时,DELETE CASCADE
子句将执行此操作,所有子项都是递归的。但这也意味着,如果父母不存在,则无法添加孩子,因此您可能需要更改业务流程。