Я хочу узнать с помощью SQL-запроса, является ли индекс UNIQUE или нет. Я использую SQLite 3.
Я пробовал два подхода:
SELECT * FROM sqlite_master WHERE name = 'sqlite_autoindex_user_1'
Возвращает информацию об индексе ( "тип", "имя", "tbl_name", "корневая страница" и "sql" ). Обратите внимание, что столбец sql пуст, когда индекс автоматически создается SQLite.
PRAGMA index_info(sqlite_autoindex_user_1);
Это возвращает столбцы в индексе ( "seqno", "cid" и "name" ).
Любые другие предложения?
Изменить: Приведенный выше пример предназначен для автоматически сгенерированного индекса, но мой вопрос касается индексов в целом. Например, я могу создать индекс с "CREATE UNIQUE INDEX index1 ON visit (user, date)". Кажется, что никакая команда SQL не покажет, будет ли мой новый индекс UNIQUE или нет.