【问题标题】:How to delete nested child using Trigger in SQLite如何在 SQLite 中使用触发器删除嵌套的子级
【发布时间】:2014-04-14 16:55:15
【问题描述】:

我需要使用触发器删除表中的嵌套项。我有一个文件夹表,表有一个 Id 和 parrentID。例如

ID     FolderName       ParentID
--------------------------------
1          A              Null
2          B              1
3          C              2
4          D              3

如果我删除 ID 1,那么它将删除所有记录 2、3、4,因为 1 是顶级父级。有什么办法吗?

【问题讨论】:

    标签: sql sqlite recursive-query triggers


    【解决方案1】:

    documentation 这么说

    [recursion] 不能在 CREATE TRIGGER 中使用。

    但是,如果你正确声明了关系,你可以告诉数据库to delete the children automatically

    CREATE TABLE MyTable(
        ID INTEGER PRIMARY KEY,
        FolderName TEXT,
        ParentID INTEGER REFERENCES MyTable(ID) ON DELETE CASCADE
    );
    

    【讨论】:

      猜你喜欢
      • 2014-06-07
      • 1970-01-01
      • 2019-05-27
      • 2021-08-28
      • 2021-03-06
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多