Python 3 按变量中指定的数量更新 sqlite 列
Python 3 update sqlite column by an amount specified in a variable
场景:一个测验程序,包含不同分数的问题。
Sqlite 数据库 table Table1 的字段 RunningTotal 类型为 Int。
我希望通过传递给函数的数量 'updateby' 来更新 RunningTotal。这是一个数值(但可能是一个字符串,所以我将它转换为整数以确保。
tableid 用于标识要更新的行。
例如(非工作代码:错误是 updateby 不是列名)
def UpdateRunningTotal(tableid,updateby)
updateby = int(updateby)
conn.execute("UPDATE Table1 RunningTotal=RunningTotal+updateby WHERE tableid=?", (tableid,))
我知道如果我输入以下内容,它可以将字段递增 1,但作为一个函数,我希望更灵活地递增不同的量。
conn.execute("UPDATE Table1 RunningTotal=RunningTotal+1 WHERE tableid=?", (tableid,))
我试图避免执行 SELECT 语句来读取 RunningTotal 的当前值,对其进行数学运算,然后在 UPDATE 语句中使用该结果...这对我来说似乎效率低下(但可能不是?)
conn.execute("UPDATE Table1 set RunningTotal=RunningTotal+? WHERE tableid=?", (updateby, tableid,))
使用此语句...我已经检查过..它工作正常,它通过 RunningTotal+updateby
更新数据库中存在的先前数量
希望您的问题得到解决
场景:一个测验程序,包含不同分数的问题。
Sqlite 数据库 table Table1 的字段 RunningTotal 类型为 Int。
我希望通过传递给函数的数量 'updateby' 来更新 RunningTotal。这是一个数值(但可能是一个字符串,所以我将它转换为整数以确保。 tableid 用于标识要更新的行。
例如(非工作代码:错误是 updateby 不是列名)
def UpdateRunningTotal(tableid,updateby)
updateby = int(updateby)
conn.execute("UPDATE Table1 RunningTotal=RunningTotal+updateby WHERE tableid=?", (tableid,))
我知道如果我输入以下内容,它可以将字段递增 1,但作为一个函数,我希望更灵活地递增不同的量。
conn.execute("UPDATE Table1 RunningTotal=RunningTotal+1 WHERE tableid=?", (tableid,))
我试图避免执行 SELECT 语句来读取 RunningTotal 的当前值,对其进行数学运算,然后在 UPDATE 语句中使用该结果...这对我来说似乎效率低下(但可能不是?)
conn.execute("UPDATE Table1 set RunningTotal=RunningTotal+? WHERE tableid=?", (updateby, tableid,))
使用此语句...我已经检查过..它工作正常,它通过 RunningTotal+updateby
更新数据库中存在的先前数量希望您的问题得到解决