我具有以下函数,该函数在PostgreSQL数据库上执行查询:
def execute_query(query):
con, cur = connect_to_db()
cur.execute(query)
con.commit()
con.close()
当我尝试提交包含%s的查询时,%s被视为附加参数,这会产生以下错误:
TypeError:execute_query()接受1个位置参数,但给出了2个
如何在不产生此错误的情况下包含%s?样本:
execute_query( """ DELETE FROM table WHERE column = %s """, [x[0]])
答案 0 :(得分:1)
您只需要接受一个额外的参数...
def execute_query(query, args):
con, cur = connect_to_db()
cur.execute(query,args)
con.commit()
con.close()
尽管您还应该研究args和kwargs并解压缩