C# 如何在SQLite数据库中获取表的索引列

C# 如何在SQLite数据库中获取表的索引列,c#,sql,sqlite,indexing,indices,C#,Sql,Sqlite,Indexing,Indices,我已经在SQLite数据库的MyTable表中为MyColumn列创建了索引 CREATE INDEX "MyIndex" ON "MyTable" ("MyColumn") 使用此查询,我可以获得索引列表: SELECT name FROM sqlite_master WHERE type = 'index'; ---------------- MyIndex 但是,如何获得与这些索引关联的列列表呢 在我的例子中,MyInd

我已经在SQLite数据库的MyTable表中为MyColumn列创建了索引

CREATE INDEX "MyIndex" ON "MyTable" ("MyColumn")
使用此查询,我可以获得索引列表:

SELECT name 
FROM sqlite_master 
WHERE type = 'index';

----------------
MyIndex
但是,如何获得与这些索引关联的列列表呢


在我的例子中,MyIndex:MyColumn

我猜您正在寻找以下内容:

PRAGMA index_info('MyIndex');
还可以使用以下方法获取表索引:

PRAGMA index_list('MyTable');

谢谢,这很有效。我可以从C#执行这个查询,就像其他SQL查询一样?当然可以,检查这里的示例:依赖它是一个好主意吗?“特定的pragma语句可能会在SQLite的未来版本中被删除,其他语句可能会被添加。不能保证向后兼容。”“如果发出未知的pragma,则不会生成错误消息。未知的pragma将被忽略。这意味着如果pragma语句中存在键入错误,库不会通知用户这一事实。”那么,还有什么选择呢?所有sql风格都有其内在和外在。您只能使用所提供的工具。@AthanasiosKataras请参阅我对该问题的评论。我没有写出正确的答案,因为这个问题被标记为C#,我对此并不熟悉。您可以使用相同的表,
sqlite_master
,获取索引定义,然后对其进行解析。看。