以下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]
那是为什么?
答案 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)
好的,我发现了问题。我的代码在单元测试中被调用。在这个单元测试中,首先我编写了一个测试用例,该用例填充了数据库(正在运行)。然后,我为查询添加了一个测试。但是因为测试是按字母数字顺序执行的,所以查询数据库的测试是在填充数据库之前执行的。
谢谢您的帮助。