SQL树按父ID删除

时间:2014-04-02 07:59:54

标签: mysql sql

所以我有一个DB(Tree),如下所示:

enter image description here

所以当我删除一个问题时,我想删除与这些问题相关的整个树,但我不知道如何做到这一点:(。你有什么想法吗?

我有这个查询,但它只删除与该问题相关的问题和问题,但它会在那里停止。

DELETE FROM support_faq WHERE id=".$id_intrebare." OR parinte=".$id_intrebare

2 个答案:

答案 0 :(得分:1)

使用 ON DELETE CASCADE 选项添加 FOREIGN键

例如

  

ALTER TABLE ChildTable ADD FOREIGN KEY(columnName_c)REFERENCES   ParentTable(columnName_p)ON DELETE CASCADE;

答案 1 :(得分:0)

如果您只有一张表具有松散耦合的父母和子女关系。您可以编写一个程序来递归删除记录。

  1. 请点击链接了解如何在mysql中编写程序
  2. 它还会告诉您如何使用循环
  3. LINK