[英]How do I insert variables in the UPDATE Statement sqlite3 with Python?
[英]How do I use WHERE after inserting variables in sqlite3
我想使用其 OID 更新特定行。 我不知道如何使用 UPDATE 以获取变量 updatednumber 以仅更新我想要的特定行。
import sqlite3
conn = sqlite3.connect('test.db')
c = conn.cursor()
test = 12
def subtract():
query = ("SELECT * FROM test WHERE oid = 2")
c.execute(query)
record = c.fetchone()
r = record[1]
updatednumber = (test - r)
def subtract1():
c.execute("""UPDATE products SET qty = (:paid),
{
'tpaid': updatednumber
}
WHERE oid = 2""")
subtract()
subtract1()
当我运行它时,它告诉我 { 是一个无法识别的令牌。
这个语法是错误的:
c.execute("""UPDATE products SET qty = (:paid),
{
'tpaid': updatednumber
}
WHERE oid = 2""")
因为您已将字典嵌入到查询字符串中; 它应该是execute()
的第二个参数。 所以改为这样做:
c.execute("UPDATE products SET qty = :paid WHERE oid = :oid", {'paid': updatednumber, 'oid': 2})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.