PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

psycopg2:aggiorna più righe in una tabella con i valori di una tupla di tuple

Questo post mi ha indicato la giusta direzione. La documentazione per extras.execute_values contiene anche un ottimo esempio usando UPDATE clausola.

c = db.cursor()
update_query = """UPDATE my_table AS t 
                  SET name = e.name 
                  FROM (VALUES %s) AS e(name, id) 
                  WHERE e.id = t.id;"""

psycopg2.extras.execute_values (
    c, update_query, new_values, template=None, page_size=100
)