Al utilizar el módulo sqlite3 en python, todos los elementos de cursor.description excepto los nombres de columna se configuran en Ninguno, por lo que esta tupla no se puede usar para encontrar los tipos de columna para un resultado de consulta (a diferencia de otros DB -los módulos compatibles con API). ¿Es la única forma de obtener los tipos de columnas para usar pragma table_info(table_name).fetchall()
para obtener una descripción de la tabla, almacenarla en la memoria y luego hacer coincidir los nombres de las columnas de cursor.description con esa descripción general de la tabla?sqlite3 y cursor.description
Respuesta
No, no es la única manera. Alternativamente, también puede buscar una fila, iterar sobre ella e inspeccionar la columna individual de objetos y tipos de Python. A menos que el valor sea Ninguno (en cuyo caso el campo SQL es NULO), esto debería proporcionarle una indicación bastante precisa del tipo de columna de la base de datos.
sqlite3 solo usa sqlite3_column_decltype
y sqlite3_column_type
en un solo lugar, cada uno, y ninguno de los dos está accesible para la aplicación Python, por lo que no es una forma "directa" que pueda haber estado buscando.
No he probado esto en Python, pero se puede intentar algo así como
SELECT *
FROM sqlite_master
WHERE type = 'table';
que contiene el DDL declaración utilizado para crear la tabla a crear. Al analizar el DDL, puede obtener la información del tipo de columna, tal como está. Recuerde que SQLITE es bastante vago y no restrictivo cuando se trata de tipos de datos de columna.
- 1. sqlite3.dll y system.data.sqlite.dll
- 2. SQLite3 y procesos múltiples
- 3. SQLite3 FTS4, MATCH y Android
- 4. nombre de usuario y contraseña en sqlite3
- 5. Implementar RoR en Heroku y Sqlite3 falla
- 6. sqlite3 comando de shell '.backup' y transacción
- 7. Python y sqlite3 - agregando miles de filas
- 8. sqlite3 preparación, vinculante y reseteo statments
- 9. sqlite3 y fmdb anidados FMResultSet es posible?
- 10. SQLite3 y limitando el número de resultados
- 11. SQLite3 :: BusyException
- 12. Fuerza Python renunciar sqlite3 nativo y usar la versión más reciente sqlite3 (instalado)
- 13. Python y sqlite3 - importar y exportar bases de datos
- 14. sqlite3-ruby gem no puede encontrar sqlite3.h en ubuntu
- 15. sqlite3 en Python
- 16. PHP con soporte sqlite3
- 17. ¿sqlite3 comprime los datos?
- 18. Agregar índice único. SQLite3
- 19. Tabla cruzada en Sqlite3
- 20. sqlite3 permission denied android
- 21. npm install sqlite3 error
- 22. Tipificación dinámica de SQLite3
- 23. rvm conflit con sqlite3
- 24. sqlite3 problemas de vinculación
- 25. versión Python sqlite3
- 26. Cómo activar REGEXP en SQLite3 y Rails 3.1?
- 27. sqlite3: base de datos principal de solo lectura y ATTACH
- 28. Lectura de una fecha y hora en sqlite3
- 29. ¿Cuál es la diferencia entre sqlite3 y sqlalchemy?
- 30. ¿Abrir base de datos y ver tablas en sqlite3?