具有多个条件和不同更新的SQLite命令

时间:2020-11-12 18:37:57

标签: python sqlite

我正在使用SQL。我有三个向量

Col_1s     = ["bob","fred", "bruce"]
Col_2s     = ["smith","johnson","macdonald"]
Increments = [1, 2, 3]

我想通过添加值Increments [i]来更新sqlite表格中名为score的列中的条目,其中Col_1 = Col_1s [i]和Col_2 = Col_2s [i];对于i = 0,1和2。

我的直觉是该命令将起作用:

c.executemany("UPDATE statements SET Score = Score + (?) WHERE Col_1=(?) AND Col_2 =(?)", (Increments, Col_1s, Col_2s,))

其中c是我的光标,但我得到:

sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 3, and there are 9 supplied.

编辑:
我意识到我忘记了执行力的工作原理。现在我正在这样做:

for i in range(0, len(Col_1s), 1):
        Params[i] = [increments[i], Col_1s[i], Col_2s[i]]

c.executemany("UPDATE statements SET Score = Score + (?) WHERE Col_1s=(?) AND Col_2s=(?)", Params)

令人沮丧的是它仍然无法正常工作。

0 个答案:

没有答案
相关问题