我有一个问题,如果我删除了第一行id,那么父id将不会在表中删除。
这是我的示例表结构,表名为表1:
----------------------
id | name | parent_id
----------------------
1 Tom 0
5 Shawn 1
11 Jack 5
13 John 5
20 David 5
33 Howard 11
35 Owen 33
例如 Case 1
:
如果我删除tom,下面的父\ u id将一起删除。这意味着所有数据都将被清除。
例如 Case 2
:
如果我删除shawn,下面的父\ u id将一起删除。也就是说把汤姆留在table上了
例如 Case 3
:
如果我删除杰克,杰克,霍华德和欧文将被删除。
例如 Case 4
:
如果我删除约翰,只有约翰会被删除。
我的树结构如下图所示:
希望有人能给我指点迷津。我试着找到findnextchildid来测试,它不能工作,也许我不知道如何使用它。谢谢。
1条答案
按热度按时间2g32fytz1#
你可以用
foreign key
约束cascade
来自on delete
子条款。为此,我更改了列的定义parent_id
在table上table_1
. 由于您还没有确定使用哪种dbms,所以我使用mysql v5.5。演示。