Polecenie "pragma table_info (" tablename ")" wyświetla informacje o kolumnach i "pragma foreign_key_list (" tablename ")" klucze obce. Jak wyświetlić inne więzy (sprawdź, unikatowe) tabeli? Tylko parsowanie pola "sql" tabeli "sqlite_master"?Czy istnieje sposób na uzyskanie ograniczeń tabeli w SQLite?
11
A
Odpowiedz
6
Myślę, że jedynym sposobem jest zrobienie tego w taki sposób, jaki zasugerowałeś, parsowanie kolumny sql bazy danych sqlite_master.
kodPython to zrobić:
import sqlite3
con = sqlite3.connect("example.sqlite3")
cur = con.cursor()
cur.execute("select sql from sqlite_master where type='table' and name='example_table'")
schema = cur.fetchone()
con.close()
entries = [ tmp.strip() for tmp in schema[0].splitlines() if tmp.find("constraint")>=0 or tmp.find("unique")>=0 ]
for i in entries: print(i)
3
Jest też pragma index_list('tablename')
+7
Nie wszystkie indeksy są ograniczeniami, a nie wszystkie ograniczenia są indeksami. –
Powiązane problemy
- 1. Czy istnieje sposób na uzyskanie różnych partion Keys z tabeli
- 2. Czy istnieje sprytny sposób na uzyskanie sortable target w jQueryUI
- 3. Czy istnieje sposób na uzyskanie obwiedni (w pikselach) elementu DOM?
- 4. Czy istnieje sposób na uzyskanie wszystkich wartości w NSUserDefaults?
- 5. Czy istnieje łatwy sposób na uzyskanie nazwy ServerName w Symfony?
- 6. Czy istnieje sposób na uzyskanie REPL w pydev?
- 7. Czy istnieje sposób na uzyskanie identyfikatora pakietu w czasie wykonywania?
- 8. Czy istnieje sposób na uzyskanie wyjątku w Haskell?
- 9. Czy istnieje prosty sposób na uzyskanie wymiarów obrazu w Ruby?
- 10. Czy istnieje sposób na uzyskanie ruchów obiektów całkowitych w vim?
- 11. Czy istnieje sposób na uzyskanie pi w arkuszu kalkulacyjnym CSS?
- 12. Czy istnieje sposób na uzyskanie CSS XSS w nowoczesnych przeglądarkach?
- 13. Czy istnieje sposób na uzyskanie SQL utworzony przez kwerendę LINQ?
- 14. Czy istnieje sposób na uzyskanie danych pikseli z Internet Explorera?
- 15. Czy istnieje prosty sposób na uzyskanie rozmiaru obiektu java?
- 16. Czy istnieje sposób na uzyskanie narzędzia javadoc do dokumentowania adnotacji?
- 17. Czy istnieje sposób na uzyskanie typu "bieżącej funkcji"?
- 18. Czy istnieje sposób na uzyskanie IEqualityComparer od programu IComparer?
- 19. Czy istnieje sposób na uzyskanie XML dla produktów Amazon?
- 20. Czy istnieje sposób na uzyskanie danych wyjściowych jQuery * rzeczywisty znacznik *?
- 21. Czy istnieje sposób na uzyskanie domyślnego obiektu $ .ajax?
- 22. Czy istnieje sposób na uzyskanie "nazwanych" komórek za pomocą EPPlus?
- 23. Czy istnieje sposób na uzyskanie postępu przesyłania jQuery ajax?
- 24. Czy istnieje sposób na uzyskanie wszystkich zarządzanych jednostek z EntityManager
- 25. Czy istnieje sposób na uzyskanie zlokalizowanych nazw popularnych przycisków dialogowych?
- 26. Czy istnieje sposób na uzyskanie aliasu typu poprzez odbicie?
- 27. Czy istnieje sposób na zmianę typu kolumny w tabeli ula?
- 28. Jaki jest najskuteczniejszy sposób zliczania wierszy w tabeli w SQLite?
- 29. Jak uzyskać ograniczeń na kolumnie tabeli SQL
- 30. Lepszy sposób na uzyskanie tabeli częstotliwości dla danych ciągłych (R)?
Jest też "Pragma index_list ('tablename')" Zobacz http://www.sqlite.org /pragma.html#pragma_index_list – Nabab
@Nabab powinieneś rozważyć dodanie tego jako odpowiedź –