我试图使用python在postgresql中逐行更新表。在
使用的代码是
cursor.execute("UPDATE im_entry.pr_table
SET selected_entry = im_entry.usr_table.",entryn,"
FROM im_entry.usr_table
WHERE im_entry.pr_table.image_1d = ",idn,"")
…其中entryn
和{
我有个错误
TypeError: function takes at most 3 arguments (5 given)
我的桌子是
^{pr2}$我怎么解决这个问题?在
不能绑定表名或列名,只能绑定与它们关联的值。在
尝试:
通常,您需要调用
cursor.execute(sql,args)
,其中sql
是参数化的sql查询,args
是要替换参数占位符的值的列表或元组。在对于Postgresql,通常的db驱动程序pyscopg对参数占位符使用问号。在
因此,通常情况下,您需要使用类似
^{pr2}$但在您的例子中,您并没有试图将
selected_entry
设置为特定值,而是设置为列名。对吗?在这种情况下,很遗憾不能使用参数占位符。相反,您必须使用字符串格式,这是我在上面建议的。在相关问题 更多 >
编程相关推荐