我正在尝试从我的数据库中获取最大的session_id,以便我可以使用递增的session_id记录新值。我正在使用它将数据库中的记录组合在一起。
conn = sqlite3.connect('../data.db')
c = conn.cursor()
session = c.execute("SELECT session_id FROM data WHERE session_id=(SELECT MAX(session_id) FROM data)")
print session
print session.fetchone()[0]
if session.fetchone()[0] == 5:
print "HERE"
return session.fetchone()[0]
这是终端打印出来的。
sqlite3.Cursor object at 0x7f43cd2f2a40
5
...
if session.fetchone()[0] == 5:
TypeError: 'NoneType' object has no attribute '__getitem__'
我在终端中仔细检查了我的SQL select语句,我在那里得到了五个。控制台正在打印五个,但我得到一个TypeError。
我在哪里犯了错误?
答案 0 :(得分:0)
我们只能迭代一次sqlite3.Cursor
的获取结果。您应该将session.fetchone()
的结果存储到对象,然后检查对象的值