- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 members 的 mysql 表,它基本上有两列:parentID
和 childID
。这样我就可以基于这两列创建一个层次结构树,例如:
parentID, ChildID
1,2
2,3
3,4
将在我的应用程序中生成一棵树,其中 parentID = 1
作为根,2 作为第一个节点,3 作为第二个节点,4 作为第三个节点等等。
在这种情况下,如果我想从给定的 parentID
中删除所有节点,我该如何完成?
最佳答案
您只需确保已设置从子行到其父行的外键,并在外键上设置了 ON DELETE CASCASDE
选项。这对自引用表和单独表中的引用同样有效。要删除树,只需删除父节点即可。将立即删除所有子行。
例如鉴于:
CREATE TABLE MyTable
(
ID INT NOT NULL PRIMARY KEY,
ParentID INT NULL,
CONSTRAINT FK_MT_Parent FOREIGN KEY (ParentID) REFERENCES MyTable(ID) ON DELETE CASCADE
);
-- And inserting two trees of data:
-- 1-2-3
-- └-4
-- 10 - 11
INSERT INTO MyTable(ID,ParentID) VALUES
(1,null), (2,1), (3,2), (4,2),
(10,null), (11,10);
我们可以通过简单地删除根节点来删除整个第一棵树:
DELETE FROM MYTable WHERE ID = 1;
但是请注意,来自 Docs CASCADE
删除的深度是有限制的:
Cascading operations may not be nested more than 15 levels deep
关于mysql - parentID和childID同表时如何删除级联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30973033/
我正在尝试将新的父项目和新的子项目保存到遗留数据库 我的数据很好,当我保存它时,它同时保存了父项和子项。但是 child 的 SillyNameParentId 始终为 0 我无法更改表结构,所以我必
如何在同一张表上设置父子关系? Id int, title string, ParentId int ---> this is refer to Id 最佳答案 您使用的是什么 ActiveReco
我有以下结构: MyClass { guid ID guid ParentID string Name } 我想创建一个数组,其中包含按照元素应在层次结构中显示的顺序排列的元素(例如,根据
MyClass由 ID 组成ParentID和 List作为Children 我有 MyClass 的列表像这样 ID ParentID 1 0 2 7 3 1 4 5 5 1
我需要一些帮助来构建一个查询,以便我过滤以下数据。 Table: MyTree Id ParentId Visible ===================== 1 null 0
我有一张这样的 table foo(id, parentId) -- there is a FK constraint from parentId to id 我需要删除一个项目及其所有 child
我有一个看似简单的任务,但我遇到的麻烦远比我愿意承认的要多。我有一个层次表,我需要查询和显示由父级和相关子级分组的结果。 我当前的 LINQ 查询: var quests = Questions.In
我有一个看似简单的任务,但我遇到的麻烦远比我愿意承认的要多。我有一个层次表,我需要查询和显示由父级和相关子级分组的结果。 我当前的 LINQ 查询: var quests = Questions.In
网站核心 reference谈谈你可以在Query中使用的一些属性,包括@@templatename、@@id和@@parentid等。 parentid 似乎不起作用 - /sitecore/con
我有以下两个数据库表: 新闻表: newsID, topic, categoryID 类别表: categoryID, title, parentID 我想获取 newsID、主题、主类别的标题,如果
//Set Parent ID for the rest of the Reports data sources this.ReportDataSources.ToList().ForEach(rds
每个父元素都应包含所有子类别的总数。如果解决方案将使用仅 Array 对象方法而不使用 while 循环,那将是非常好的。 这是基础结构的例子: const base = [ { id: 1, c
我会尽量解释清楚。这是我的查询.. SELECT * FROM mm_star_ratings s JOIN mm_posts p ON s.post_id = p.postid WHERE p.ty
我有一个类似 records(ID, ParentID) 的表,其中包含以下数据: ID ParentID 1 null 2 1 3 2 4 2 5 3
我有两个数组。两者都包含具有唯一 id 和 parentid 值的对象(给定的 id 只是示例,实际上它们是由 uuid 生成器生成的)。第一个是按照 parentid 不同于“parent”的对象位
这是表的示例结构: ID Name ParentID ----------------------- 1 Ancestor NULL 2 GrandFather
我有一个具有多层嵌套的层次结构树 JSON。当我尝试循环 JSON 以在 UI 中显示树结构时。我最终得到了循环冗余,因为父 ID 在不同级别上是相同的。我需要为parentID和ID添加唯一标识符,
给定一个平面级别的对象数组,根据 parent 和 id 属性嵌套它们的最有效和现代的方法是什么?顶层对象没有parentId,嵌套层数没有限制。 [{ id: 'OS:MacOS', typ
给定一个平面级别的对象数组,根据 parent 和 id 属性嵌套它们的最有效和现代的方法是什么?顶层对象没有parentId,嵌套层数没有限制。 [{ id: 'OS:MacOS', typ
我正在为我的应用程序编写一个 CMIS 接口(interface)。此接口(interface)返回 cmis:document作为 cmis:folder 的子对象的对象目的。这里是 a part
我是一名优秀的程序员,十分优秀!