SQLite Abfrage, ob in Tabelle X Spalte Y existiert

SQLite Frequently Asked Questions

SQLite müßte eine Tabelle sqlite_master enthalten, die die entsprechenden Einträge enthält. Ein entsprechendes select-Statement sollte kein Problem sein.

Die andere Möglichkeit die ich sehe ist ein select-Statement auf die Tabelle und sich dann die Metadaten des Resultsets ausgeben zu lassen.
ResultSet.getMetaData(); und dann mit getColumnName(int n) über alle Spalten iterieren.
 
jup mit sqlite_master ist das ganz einfach. Einfach das Schema der Tabelle aus der DB herausholen und dann den String mit contains("tabellenName") suchen...

Ist zwar etwas umständlich aber funktioniert....

SQLite ist SCH......
 
Das sollte allerdings auch mit einem einzigen Statement gehen


SQL:
select * 
  from sqlite_master 
  where type='table' 
  and tbl_name = 'TABELLENNAME' 
  and sql like '%SPALTENNAME SPALTENTYP%'

Hier muß nur geschaut werden ob das Ergebnis eine oder keine Zeile zurückliefert.

Den SPALTENTYP kann man auch weglassen, wenn man sicher sein kann, das der Spaltenname, nicht irgendwie anders enthalten ist.
 

Neue Themen


Zurück
Oben