Php MySQL表中删除问题

Php MySQL表中删除问题,php,mysql,Php,Mysql,因为我有这么多类别,所以我创建了一个“类别”数据库表: "id_category , parent_id , category_name , category_tag" 例如: ---------------------------------------------------------- | id_category | parent_id | category_name | category_tag | ------------------------------------

因为我有这么多类别,所以我创建了一个“类别”数据库表:

"id_category , parent_id , category_name , category_tag"
例如:

  ----------------------------------------------------------
  | id_category | parent_id | category_name | category_tag |
  ----------------------------------------------------------
  | 1           | 0         | Cars          | cars         |
  | 2           | 1         | Parts         | parts        |
  | 3           | 2         | Accesories    | accesories   |
  ----------------------------------------------------------
树:

  Cars
     |_Parts
           |_Accesories
当我想删除树中的所有记录时,就会出现问题。 如何从上面的示例中删除树分支中的所有记录


在mySQL和PHP中可能吗?

查找
InnodB
,这是您的站点目前可能使用的数据库引擎类型
MyISAM
,也可以查找
级联删除

InnobDb允许您分配表中标记之间的关系,然后您可以分配一个操作,以确定删除或更新行时会发生什么


如果要将删除时的
操作设置为
CASCADE
,则会将删除操作级联到子行及其子行。因此,删除父项将自动删除所有子项、孙子项等。

数据库表本质上不是一棵树,您通常会这样做

DELETE FROM categories WHERE id_category=3


您要查找的是父\u id上的外键,它引用了id\u类别,并对DELETE CASCADE进行了约束。然后,您只需删除根元素(category_id 0),最终将得到一个空表。

如果您没有带约束的键,您只需在表上执行TRUNCATE命令即可删除所有内容


如果确实为级联删除配置了键,则删除顶部项(父项id=0)将删除所有依赖行和子依赖行。在这种情况下,删除第一行将清空表。

我刚刚读到mysql文档…似乎正在工作。非常感谢您的指示。这根本不可扩展。避免。
DELETE FROM categories WHERE id_category=3 AND parent_id=2