繁体   English   中英

使用python查询sqlite3数据库。 Fetchone()返回实值,但是python返回TypeError:NoneType

[英]Using python to query sqlite3 database. Fetchone() returns real value but python returns a TypeError: NoneType

我正在尝试从数据库中获取最大的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语句,然后在那里得到了五个。 控制台正在打印5,但我却遇到TypeError。

我在哪里出错?

我们只能迭代sqlite3.Cursor的获取结果。 您应该将session.fetchone()的结果存储到一个对象,然后检查该对象的值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM