我正在尝试UPDATE
使用一个函数的结果来处理一个表的所有记录,该函数使用表的其他行作为参数。但是,所有记录的此操作的结果从第一条记录开始重复。谁能解释为什么会这样?
def fun(a,b,c,d):
return a + b + c + d
cur = conn.cursor()
cur.execute("SELECT field1, field2, field3, field4 FROM TABLE1")
for row in cur:
cur.execute("UPDATE TABLE1 SET field5 = ?", (fun(row[0],row[1],row[2],row[3]),))
完成的表格如下所示:
field1, field2, field3, field4, field5
4, 3, 2, 1, 10
7, 3, 1, 0, 10
8, 5, 2, 0, 10
什么时候应该是这样的:
field1, field2, field3, field4, field5
4, 3, 2, 1, 10
7, 3, 1, 0, 11
8, 5, 2, 0, 15