python – fetchone()将int变量设置为tuple

我有一个
Python 2.7和SQLite3的项目.

我试图在SQLite3数据库列中存储一个整数变量,然后能够将变量设置为SQLite列的值.

连接正常,列存在,类型为“int”.

我正在使用此代码来提取数据:

    Trailcrest.fish_score = c.execute("SELECT fish_score FROM roster WHERE agentnumber = ?;", (AN,) ).fetchone()

当调用包含此代码的def时,我正在调用的“AN”变量作为参数提供.

但是,当我查看Trailcrest.fish_score变量时,虽然数据已写入它,但它已被写为元组,而不是整数.该变量最初包含一个整数.

到底是怎么回事?我该如何解决? (我假设我需要做一些演员,但我不确定.)

最佳答案
fetchone()仍然返回一个类似于行的对象,您需要从中解析单独的字段,因此您需要从中获取数据

row = c.execute("SELECT fish_score FROM roster WHERE agentnumber = ?;", (AN,) ).fetchone()
if row is not None:  # or just "if row"
    Trailcrest.fish_score = row[0]
else:
    pass # didn't get back a row
点赞