3
私はpythonの初心者で、リストのIN
を使用してすべての行(idsがリストで提供されます)の1つの列値を更新しようとしています。boolとリストでフォーマット文字列の引数が不足しています
私のクエリは、このようなものです:
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))
は、だから私は、問題が最初のパラメータ値であると思いますが、私はこれを解決する方法を知りません。
何か助けていただければ幸いです。あなたは別のパラメータとしてlstIds
の値のそれぞれを含む必要
いーえ。 –
@WillemVanOnsem:値を補間するのではなく、クエリパラメータのみを補間します。 –
@MartijnPieters:私は知っていますが、まだそれを行うにはエレガントな方法ではありません。 –