传递闭包表示例

时间:2015-07-17 14:00:03

标签: android sqlite transitive-closure-table

我知道传递闭包概念用于存储树结构数据。 此概念还用于以最少的复杂查询以非常高效和快速的方式检索分层数据。

在SQLite查询浏览器中,我尝试过这些查询:

CREATE TABLE category (
    id INTEGER NOT NULL PRIMARY KEY,
    name VARCHAR(255),
    parent_id INTEGER,
    FOREIGN KEY (parent_id) REFERENCES category (id)
); 

CREATE VIRTUAL TABLE category_closure USING transitive_closure (
    tablename="category",
    idcolumn="id",
    parentcolumn="parent_id"
);

我可以使用查询号创建表。 1但查询号码2不起作用。

有人可以使用SQLite在Android中提供具体示例吗?

1 个答案:

答案 0 :(得分:1)

如博文Querying Tree Structures in SQLite using Python and the Transitive Closure Extension所示,transitive closure extension必须手动编译。 使用默认的Android数据库API时,这是不可能的。

你可以use triggers to maintain an explicit closure table