如何确定是否已在SQLite表上创建索引?

时间:2018-10-23 02:44:04

标签: c# sqlite

我正在使用此代码创建索引。我意识到如果已经存在它不会创建它,但是有人可以告诉我是否有一种方法可以找出索引是否已经创建?

db2.Execute("CREATE UNIQUE INDEX IF NOT EXISTS idx_History on History(YYMMDD,Mode,Quiz,CC,Deck)");

1 个答案:

答案 0 :(得分:1)

您可以使用内部sqlite_master表并查询索引:

var result = await conn.ExecuteScalarAsync<int>("SELECT count(*) FROM sqlite_master WHERE type='index' and name=?;", new string[] { "someIndexName" });
if (result == 1)
{
   ~~~