我试图通过python执行sql语句。但这不起作用:
cursor.execute("UPDATE setting set foo=%s WHERE bar=%s", 4, str(sys.argv[1]))
这也不起作用:
t = ("4",sys.argv[1])
cursor.execute('UPDATE setting set foo=? WHERE bar=?', t)
但是这个有效:
cursor.execute('UPDATE setting set foo=%s WHERE bar="something"', 3)
我做错了什么?
答案 0 :(得分:2)
尝试运行
cursor.execute("UPDATE setting set foo=%s WHERE bar=%s", (4, str(sys.argv[1])))
如果存在多个参数,则需要将参数作为元组传递。
答案 1 :(得分:1)
我认为您需要将参数作为元组传递,即使只有一个:
cur.execute("insert into people values (?, ?)", (who, age))
或者:
cur.execute("insert into people values (?, 100)", (who,))