fetchone()将int变量设置为tuple

Cod*_*e92 3 python sqlite variables integer tuples

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

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

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

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

    Trailcrest.fish_score = c.execute("SELECT fish_score FROM roster WHERE agentnumber = ?;", (AN,) ).fetchone()
Run Code Online (Sandbox Code Playgroud)

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

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

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

Dan*_*olo 7

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
Run Code Online (Sandbox Code Playgroud)

  • @Jason:为此目的创建了`pass`关键字(占位符). (2认同)