1
我可以使用下面的查找索引列表中的一个表:如何检查索引列上的排序?
PRAGMA index_list(myTable);
从这个结果,我可以索引中获取有关列的详细信息有以下:
PRAGMA index_info(myIndex);
但我似乎无法找到一种方法来告诉列排序顺序。是否有另一个我忽略的编译指示可以让我这样做?
注意:我知道我可以从SQLITE_MASTER
中选择并从create语句中解析出排序顺序,但如果可能的话,我宁愿停止解析。但是,如果这是唯一的解决方案,那么它将不得不工作。
请参阅[此答案](http://stackoverflow.com/a/1549444/623041)。 – eggyal
至少如果你解析,语法很简单,定义明确:http://www.sqlite.org/lang_createindex.html。捕获列名称和asc/desc的正则表达式将很容易构建。如果有用,我可以提供帮助。 – Gene
正则表达式会很好,但考虑到递归(多列),可选整理和排序顺序的需求,可以加上列方括号还是可以不用方括号转义? (我对正则表达式不太擅长,而且这个看起来比我写过的任何东西都复杂得多)。看来,它可能更容易做字符串解析)。 – Kyle