Pythonでsqlite3のモジュールを使用して、列名以外cursor.descriptionの全ての要素がNoneに設定されているので、このタプルは他のDBとは異なり(クエリ結果の列タイプを見つけるために使用することができません-API準拠のモジュール)。 pragma table_info(table_name).fetchall()
を使用してテーブルの説明を取得し、メモリに格納し、cursor.descriptionの列名をその全体的なテーブルの説明に一致させる列の種類を取得する唯一の方法はありますか?sqlite3のとcursor.description
5
A
答えて
5
いいえ、それが唯一の方法ではありません。また、1つの行をフェッチして繰り返し処理し、個々の列のPythonオブジェクトと型を調べることもできます。値がNone(SQLフィールドがNULLの場合)でない限り、これはデータベースの列型がどのようなものかをかなり正確に示します。
sqlite3は、それぞれsqlite3_column_decltype
とsqlite3_column_type
を1つの場所で使用し、どちらもPythonアプリケーションからアクセスできません。したがって、それらはあなたが探していた「直接的な」方法ではありません。
1
私はPythonでこれを試していないが、しかし、あなたはDDLは、テーブルを作成するために使用するCREATE文が含ま
SELECT *
FROM sqlite_master
WHERE type = 'table';
ような何かを試みることができます。 DDLを解析することで、列の情報を取得することができます。列データ型の場合、SQLiteはあいまいで無制限であることを覚えておいてください。
関連する問題
- 1. SQLITE3とAndroidのrowid
- 2. NSDateとSQLite3
- 3. SQLite3とSystem.currentTimeMillis()
- 4. SQLite3と "カスケード" SELECTion
- 5. SQLite3とマルチプロセッシング
- 6. Sqlite3とXcode
- 7. sqlite3.dllとsystem.data.sqlite.dll
- 8. NSUserDefaultsとsqlite3
- 9. FactoryGirl RSpecのとSQLite3の:: ConstraintException
- 10. sqlite3シェルコマンド '.backup'とトランザクション
- 11. mysite_num_rowsと同等のSQLite3
- 12. RailsとSQLITE3の問題
- 13. SQLite3とロックの解放
- 14. ApacheとSqlite3の問題
- 15. sqlite3のユーザ名とパスワード
- 16. python、sqlite3と2つの値
- 17. sqlite3とpdo_sqliteの違い
- 18. リンクsqlite3.objは、私は次のコマンドを使用して、BCC 55とsqlite3.cからSQLite3のデータベースエンジンをコンパイルした
- 19. php5 sqlite3結果と無料
- 20. フォースのPythonネイティブsqlite3のを見送ると(インストール)最新のsqlite3のバージョン
- 21. Pythonのコマンドライン引数とSQlite3へのアクセス
- 22. C#.NETのSQLite3
- 23. SQlite3のロックウィンドウ
- 24. iphoneアプリケーションのsqlite3
- 25. sqlite3の、OperationalError:データベースファイル
- 26. ジャンゴインメモリSQLite3のデータベース
- 27. sqlite3のPython datetimes
- 28. sqlite3の - コールバック
- 29. SQLite3 :: DatabaseとSQLite3 :: Statementの初期化メソッドはどこにありますか
- 30. rubyとSqlite3 dbの文字列比較