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



我正在使用这段代码来创建和索引。我意识到如果它已经存在,它就不会创建它,但有人可以告诉我有没有办法找出索引是否已经创建?

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

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

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

最新更新