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