Je veux savoir, avec une requête SQL, si un index est UNIQUE ou non. J'utilise SQLite 3.Comment puis-je savoir si un index SQLite est unique? (Avec SQL)
J'ai essayé deux approches:
SELECT * FROM sqlite_master WHERE name = 'sqlite_autoindex_user_1'
Cela renvoie des informations sur l'indice ("type", "name", "tbl_name", "rootpage" et "sql"). Notez que la colonne sql est vide lorsque l'index est automatiquement créé par SQLite.
PRAGMA index_info(sqlite_autoindex_user_1);
Ceci renvoie les colonnes de l'index ("seqno", "cid" et "name").
D'autres suggestions?
Editer: L'exemple ci-dessus est pour un index généré automatiquement, mais ma question concerne les index en général. Par exemple, je peux créer un index avec "CREATE UNIQUE INDEX index1 ON visite (utilisateur, date)". Il semble qu'aucune commande SQL ne montrera si mon nouvel index est UNIQUE ou non.
Pouvez-vous donner un exemple où un index généré automatiquement n'est pas unique? Ceux que j'ai vus ont toujours été uniques. – finnw
autoindex est généré pour la clé primaire, qui est par définition unique – Noah