In SQLite kann ich die folgende Abfrage ausführen, um eine Liste von Spalten in einer Tabelle zu erhalten:
%Vor%Dies gibt mir die Spalten, aber keine Informationen darüber, was die Primärschlüssel sein könnten. Darüber hinaus kann ich die folgenden zwei Abfragen ausführen, um Indizes und Fremdschlüssel zu finden:
%Vor%Aber ich kann anscheinend nicht herausfinden, wie man die Primärschlüssel sieht. Weiß jemand, wie ich das machen kann?
Hinweis: Ich weiß auch, dass ich tun kann:
%Vor%Und es wird die Anweisung create table geben, die die Primärschlüssel anzeigt. Aber ich suche nach einer Möglichkeit, dies zu tun, ohne die create-Anweisung zu analysieren.
Das table_info
gibt Ihnen eine Spalte mit dem Namen pk (die letzte), die anzeigt, ob es ein Primärschlüssel ist (wenn ja, der Index davon im Schlüssel) oder nicht (Null).
Um zu klären, aus der Dokumentation:
Die Spalte "pk" in der Ergebnismenge ist Null für Spalten, die nicht vorhanden sind Teil des Primärschlüssels und ist der Index der Spalte in der primären Schlüssel für Spalten, die Teil des Primärschlüssels sind.
Tags und Links primary-key schema sqlite3