1

我可以使用以下命令找到表的索引列表:

PRAGMA index_list(myTable);

从这个结果中,我可以使用以下内容获取有关索引中列的详细信息:

PRAGMA index_info(myIndex);

但我似乎找不到一种方法来告诉列排序顺序。是否有另一个我忽略的编译指示可以让我这样做?

注意:我知道我可以从SQLITE_MASTERcreate 语句中选择并解析排序顺序,但如果可能的话,我宁愿不进行解析。但是,如果这是唯一的解决方案,那么它必须起作用。

4

1 回答 1

0

在通过 3.7.13 源代码快速 grep 之后,我不相信任何 pragma 都会暴露排序顺序。我能找到的对 KeyInfo::aSortOrder 的唯一引用要么在 CREATE INDEX 代码中,要么在实际的数据库操作中,例如查询或相互比较索引。

如果您可以选择自定义构建 SQLite,将其添加到 index_info pragma 中似乎不需要做很多工作。

于 2012-06-11T19:44:10.883 回答