如何使用psycopg2使用ANY?

huangapple go评论66阅读模式
英文:

How do you use ANY using psycopg2?

问题

使用psycopg2,我想使用一个元素列表执行更新语句:

cursor.execute("UPDATE mytable SET mycol=2 WHERE name=ANY(%s) RETURNING id", 
                                    tuple(keywords))

其中,keywords 是一个字符串列表,因为 name 是一个 varchar 列。然而,我得到了以下错误:

TypeError: not all arguments converted during string formatting

我该如何执行这个请求?

英文:

Using psycopg2, I want to do an update statement using a list of elements:

cursor.execute("UPDATE mytable SET mycol=2 WHERE name=ANY(%s) RETURNING id", 
                                    tuple(keywords))

where keywords is a list of strings, since name is a varchar column. However, I get:

TypeError: not all arguments converted during string formatting

How should I do the request?

答案1

得分: 0

感谢 @Adrian。

应该是:

cursor.execute("UPDATE mytable SET mycol=2 WHERE name=ANY(%s) RETURNING id",
                                    tuple([keywords]))
英文:

Thanks @Adrian.

It should be:

cursor.execute("UPDATE mytable SET mycol=2 WHERE name=ANY(%s) RETURNING id", 
                                    tuple([keywords]))

huangapple
  • 本文由 发表于 2023年2月24日 00:19:09
  • 转载请务必保留本文链接:https://go.coder-hub.com/75547503.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定