Python SQLite 使用变量条目和多个条件更新

问题描述 投票:0回答:1

我是数据库管理新手,我想在两个条件匹配时更新我的 SQLite 数据库,但下面的 Python 代码返回错误:

try:
    cursor.execute("UPDATE mytable SET field1 = ?,  field2 = ?, field3 = ?, field4 = ? WHERE field5 = ? AND field6 = ?;", var1, var2, var3, var4, var5, var6)
except Exception as e:
    Logging.Error("Exception "+str(e))

错误:

异常执行预计最多 2 个参数,得到 7 个

我做错了什么?

谢谢你

python-3.x sqlite
1个回答
0
投票

execute
函数采用 2 个参数:一个字符串(SQL 语句)和一个值的tuple。你传入的是一个字符串和其他 6 个值。您需要将最后 6 个值放入元组中:

cursor.execute(
    "UPDATE mytable SET field1 = ?,  field2 = ?, field3 = ?, field4 = ?"
    " WHERE field5 = ? AND field6 = ?;",
    (var1, var2, var3, var4, var5, var6),
)
© www.soinside.com 2019 - 2024. All rights reserved.