Ich möchte mit einer SQL-Abfrage herausfinden, ob ein Index UNIQUE ist oder nicht. Ich verwende SQLite 3.Wie finde ich heraus, ob ein SQLite-Index eindeutig ist? (Mit SQL)
ich zwei Ansätze versucht:
SELECT * FROM sqlite_master WHERE name = 'sqlite_autoindex_user_1'
Diese liefert Informationen über den Index ("Typ", "Name", "tbl_name", "Rootpage" und "SQL"). Beachten Sie, dass die Spalte sql leer ist, wenn der Index automatisch von SQLite erstellt wird.
PRAGMA index_info(sqlite_autoindex_user_1);
Dies gibt die Spalten im Index ("seqno", "cid" und "name").
Haben Sie noch weitere Vorschläge?
Bearbeiten: Das obige Beispiel ist für einen automatisch generierten Index, aber meine Frage bezieht sich auf Indizes im Allgemeinen. Zum Beispiel kann ich einen Index mit "CREATE UNIQUE INDEX index1 ON visit (Benutzer, Datum)" erstellen. Es scheint, dass kein SQL-Befehl angezeigt wird, wenn mein neuer Index UNIQUE ist oder nicht.
Können Sie ein Beispiel geben, wo ein automatisch generierter Index nicht eindeutig ist? Die, die ich gesehen habe, waren immer einzigartig. – finnw
Autoindex wird für den Primärschlüssel generiert, der per Definition eindeutig ist – Noah