sqlite的fetchall返回None而不是空列表
根据sqlite3的文档,fetchall()
这个函数会返回一个列表,如果没有找到符合条件的行,它会返回一个空列表。有时候,我会遇到一个情况,返回的值是None
,这不是每次都会发生。None
可能意味着什么呢?是数据库访问失败了?还是某个表不存在呢?
2 个回答
0
当 fetchall()
返回 []
时,fetchone()
返回 None
。你确定你不是不小心用了 fetchone()
吗?
3
从源代码简单看了一下,sqlite3的游标(cursor)里的fetchall
方法返回None
似乎是不可能的,除非出现了内存损坏的问题。你可能在做其他事情,导致它返回了None
。