python3按variab中指定的量更新sqlite列

2024-09-29 23:19:13 发布

您现在位置:Python中文网/ 问答频道 /正文

情景:一个有不同分数的问题的测验项目

Sqlite数据库,表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语句中使用该结果……这对我来说似乎是低效的(但可能不是?)


Tags: 项目函数代码execute数量update语句conn

热门问题