簡體   English   中英

python中帶有變量的SQL語句

[英]Sql-statement with variables in python

我正在嘗試通過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)

我究竟做錯了什么?

嘗試跑步

cursor.execute("UPDATE setting set foo=%s WHERE bar=%s", (4, str(sys.argv[1])))

如果有多個參數,則必須將其作為元組傳遞。

我認為即使只有一個,您也需要將參數作為一個元組傳遞:

cur.execute("insert into people values (?, ?)", (who, age))

要么:

cur.execute("insert into people values (?, 100)", (who,))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM