级联删除DB中的记录

时间:2013-12-25 10:36:45

标签: php sql recursion

我有关系亲子的表:

id   text        parent_id
1   'test'       0
2   'test1'      1
3   'test2'      2
4   'test3'      0

我有一个像这样构建树的函数:

test
  - test1
    -- test2
test3

例如,我想删除test1,但我需要删除所有的孩子,我该怎么做,或者我需要使用什么技术?

我尝试在同一个表上添加外键,但它不起作用

1 个答案:

答案 0 :(得分:1)

像这样添加约束

ALTER TABLE 
    `table` 
ADD FOREIGN KEY 
    (`parent_id`) 
REFERENCES 
    `table` (`id`) 
ON UPDATE CASCADE 
ON DELETE CASCADE;

重要提示:您的表格必须为 InnoDB