dbapi规范规定cursor,description函数应该为查询结果中的每个字段返回一个7项信息序列。
它还指出:
前两项(name和type_code)是必填项,其他五项是可选项,如果无法提供有意义的值,则将其设置为None。
内置 sqlite3 驱动程序返回的信息仅提供字段名,对于所有其他属性,该信息为None。
我已经使用参数detect_types=sqlite3.PARSE_DECLTYPES
连接到***sqlite数据库***,当然还创建了带有类型字段的表。
我错过了什么吗?有什么窍门吗?为什么sqlite3的cursor.description不返回PEP249要求的类型数据?
1条答案
按热度按时间62lalag41#
为什么sqlite3的cursor.description不返回PEP249要求的类型数据?
根据issue filed(migrated link),这个模块背后的开发人员认为“不能保证SQlite结果集中的所有列都具有相同的类型。这就是为什么(它)决定将类型代码设置为“undefined”。”
您可能希望尝试其他方法来获取列数据类型,如in this thread所示。