Python SQLite查询返回无

时间:2018-09-19 07:21:59

标签: python sqlite python-db-api

以下SQLite查询返回3:

SELECT MAX(depth) FROM mpitree WHERE child = 2

但是此代码的评估结果为无:

def ancestors_depth(self):
    self.cursor.execute("SELECT MAX(depth) FROM mpitree WHERE child = 2");
    return self.cursor.fetchone()[0]

那是为什么?

2 个答案:

答案 0 :(得分:0)

您应该存储您认为的查询结果:

SQL_QUERY = "SELECT MAX(depth) FROM mpitree WHERE child = 2"

def ancestors_depth(self):
    result = self.cursor.execute(SQL_QUERY)
    return result.fetchone()[0]

答案 1 :(得分:0)

好的,我发现了问题。我的代码在单元测试中被调用。在这个单元测试中,首先我编写了一个测试用例,该用例填充了数据库(正在运行)。然后,我为查询添加了一个测试。但是因为测试是按字母数字顺序执行的,所以查询数据库的测试是在填充数据库之前执行的。

谢谢您的帮助。