sqlite的fetchall返回None而不是空列表

1 投票
2 回答
2745 浏览
提问于 2025-04-16 19:12

根据sqlite3的文档fetchall()这个函数会返回一个列表,如果没有找到符合条件的行,它会返回一个空列表。有时候,我会遇到一个情况,返回的值是None,这不是每次都会发生。None可能意味着什么呢?是数据库访问失败了?还是某个表不存在呢?

2 个回答

0

fetchall() 返回 [] 时,fetchone() 返回 None。你确定你不是不小心用了 fetchone() 吗?

3

从源代码简单看了一下,sqlite3的游标(cursor)里的fetchall方法返回None似乎是不可能的,除非出现了内存损坏的问题。你可能在做其他事情,导致它返回了None

撰写回答