我创建了一个脚本,用于查找数据库第一行中的最后一个值
import sqlite3
global SerialNum
conn = sqlite3.connect("MyFirstDB.db")
conn.text_factory = str
c = conn.cursor()
SerialNum = c.execute('select Serial from BI4000 where Serial in (Select max(Serial) from BI4000)')
print SerialNum
conn.commtt()
conn.close()
程序打印结果
[('00003',)]
这是当前数据库中的最后一个结果,所有将输入到最终数据库的数据都将是序列号,因此它将按顺序排列。
我的问题是我可以删除所有引号/括号/逗号,因为我希望将此值设置为变量。
我希望制作的程序是一个向数据库添加新条目的测试系统,我希望检查数据库中的最后一个条目,以便系统可以从那一点继续输入。
答案 0 :(得分:7)
您执行的查询结果表示为Python元组的Python列表。
列表中包含的元组表示查询返回的行。
元组中包含的每个值表示该特定行的相应字段,按您选择的顺序排列(在您的情况下,您只选择了一个字段,因此每个元组只有一个值)。
长话短说:your_variable = SerialNum[0][0]
答案 1 :(得分:3)
如果您只想从一行中检索一列,请使用:
c.execute('select Serial from BI4000 where Serial in (Select max(Serial) from BI4000)')
result = c.fetchone()
if result: # first row returned?
print result[0] # first column
您的查询可以简化为:
c.execute('Select max(Serial) from BI4000')