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. cursor.descriptionはカラム名(python 2.7 + sqlite3)エイリアス
- 2. SQLITE3とAndroidのrowid
- 3. sqlite3のインデックスとRAM
- 4. Cとsqlite3のコンパイル
- 5. SQLite3とマルチプロセッシング
- 6. SQLite3とSystem.currentTimeMillis()
- 7. SQLite3と "カスケード" SELECTion
- 8. NSUserDefaultsとsqlite3
- 9. Sqlite3とXcode
- 10. sqlite3.dllとsystem.data.sqlite.dll
- 11. NSDateとSQLite3
- 12. TrueとSqlite3
- 13. FactoryGirl RSpecのとSQLite3の:: ConstraintException
- 14. sqlite3シェルコマンド '.backup'とトランザクション
- 15. SQLite3とロックの解放
- 16. python、sqlite3と2つの値
- 17. RailsとSQLITE3の問題
- 18. ApacheとSqlite3の問題
- 19. sqlite3のユーザ名とパスワード
- 20. sqlite3とpdo_sqliteの違い
- 21. mysite_num_rowsと同等のSQLite3
- 22. SQLite3の整数とCURRENT_TIMESTAMP
- 23. raw SQLのsqlalchemy。どのように基本のcursor.descriptionにアクセスできますか?
- 24. リンクsqlite3.objは、私は次のコマンドを使用して、BCC 55とsqlite3.cからSQLite3のデータベースエンジンをコンパイルした
- 25. php5 sqlite3結果と無料
- 26. フォースのPythonネイティブsqlite3のを見送ると(インストール)最新のsqlite3のバージョン
- 27. Pythonの、sqlite3の:
- 28. Pythonのコマンドライン引数とSQlite3へのアクセス
- 29. sqlite3のPython datetimes
- 30. sqlite3の - コールバック