Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我可以使用以下命令找到表的索引列表:
PRAGMA index_list(myTable);
从这个结果中,我可以使用以下内容获取有关索引中列的详细信息:
PRAGMA index_info(myIndex);
但我似乎找不到一种方法来告诉列排序顺序。是否有另一个我忽略的编译指示可以让我这样做?
注意:我知道我可以从SQLITE_MASTERcreate 语句中选择并解析排序顺序,但如果可能的话,我宁愿不进行解析。但是,如果这是唯一的解决方案,那么它必须起作用。
SQLITE_MASTER
在通过 3.7.13 源代码快速 grep 之后,我不相信任何 pragma 都会暴露排序顺序。我能找到的对 KeyInfo::aSortOrder 的唯一引用要么在 CREATE INDEX 代码中,要么在实际的数据库操作中,例如查询或相互比较索引。
如果您可以选择自定义构建 SQLite,将其添加到 index_info pragma 中似乎不需要做很多工作。