「pragma table_info( 'tablename')」というコマンドは、列情報と外部キー「pragma foreign_key_list( 'tablename')」をリストします。 テーブルの他の制約(チェック、一意)を表示するにはどうすればよいですか? テーブル "sqlite_master"の "sql"フィールドのみを解析しますか?SQLiteでテーブルの制約を取得する方法はありますか?
11
A
答えて
6
私は唯一の方法は、あなたが提案した方法であると思う、sqlite_masterデータベースのSQL列を解析することです。
これを行うにはPythonコード:
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
pragma index_list('tablename')
もありますが、 "プラグマindex_list( 'テーブル名')" を参照してくださいhttp://www.sqlite.orgもありますhttp://sqlite.org/pragma.html#pragma_index_list
+7
すべてのインデックスが制約ではなく、すべての制約がインデックスであるとは限りません。 –
関連する問題
- 1. PythonのSQLiteテーブルから値を取得する方法はありますか?
- 2. SQLiteで外部キー制約の名前を取得する方法は?
- 3. AWS DynamoDBテーブルにスキーマ制約を適用する方法はありますか?
- 4. 型制約を結合する方法はありますか?
- 5. sqliteテーブルを変更する方法はありますか
- 6. SQLiteからより詳細な制約エラーアサーションを取得するには?
- 7. SQLite ManagerからJTextFieldにデータを取得する方法はありますか?
- 8. SQLiteとSQLite Net Extensions - 外部キー制約はどこにありますか?
- 9. Laravelはテーブル名でモデルを取得する方法はありますテーブル名
- 10. 同じテーブル内のRowParentIdの制約はありますか?
- 11. Grails 2.0でnull許容制約を取得する方法は?
- 12. テーブル内でこの動作を保証するデータベース制約を与える方法はありますか?
- 13. 集約プロセス中に制御変数を取得して設定する方法はありますか?
- 14. MediaCodecインスタンスの制限を取得する方法はありますか?
- 15. AndroidのSQLiteテーブルからデータを取得する方法
- 16. TinkerGraphでスキーマ制約を定義する方法はありますか?
- 17. sqliteの型でテーブルを取得する方法
- 18. SQLiteで一意の制約を構築する方法
- 19. テーブルからデータを高速に取得する方法はありますか?
- 20. Liquibaseで外部キー制約のあるテーブルを作成する方法は?
- 21. 複数の制約があるINNER JOINテーブルからSELECTする方法は?
- 22. デフォルトの制約の制約をすべてテーブルにドロップする方法
- 23. レガシープロジェクトでクラッシュレポートを取得する方法はありますか?
- 24. sfDoctrineGuardPluginでIDを取得する方法はありますか?
- 25. エースエディタをidで取得する方法はありますか?
- 26. サーブレットリクエストでユーザーデータを取得する方法はありますか?
- 27. SQL Server 2008-テーブルの制約を取得する
- 28. このsqlite例外制約を解決する方法
- 29. Oracleのテーブルに存在するすべての制約のリストを取得する方法は?
- 30. イベントのデリゲートを取得する方法はありますか
を参照してください。 /pragma.html#pragma_index_list – Nabab
@Nababあなたは本当にそれを答えとして追加することをお勧めします –