3
我是Python的新手,並試圖更新列表中的所有行(列表中提供ids提供)列值(真/假)列表上使用IN
。沒有足夠的參數爲格式字符串與布爾和列表
我的查詢是這樣的:
qry = "Update table Set "\
"col1 = %s "\
"where col2 in (" + ",".join("%s" for _ in lstIds)
qry += ")"
cursor.execute(qry,(col1Value, lstIds))
但我發現了錯誤
沒有足夠的論據格式字符串
我已經嘗試了不同的解決方案,但無法解決我的問題。 當我改變我查詢這種方式,it works fine
qry = "Update table Set "\
"col1 = 1 "\
"where col2 in (" + ",".join("%s" for _ in lstIds)
qry += ")"
cursor.execute(qry,(lstIds))
所以我猜問題是在第一個參數值,但我不知道如何解決這個問題。
任何形式的幫助將不勝感激。
NOOO ....不要格式化queryes的方式。 –
@WillemVanOnsem:它們不是插值,只是查詢參數。 –
@MartijnPieters:我知道,但仍然不是一個很好的方法來做到這一點。 –