Re: [psycopg] UPDATE command - Mailing list psycopg

From Jonathan Rogers
Subject Re: [psycopg] UPDATE command
Date
Msg-id b08aa25f-cda7-346a-c497-d7bec8b933d8@emphasys-software.com
Whole thread Raw
In response to [psycopg] UPDATE command  (Graeme Gemmill <graeme@gemmill.name>)
Responses Re: [psycopg] UPDATE command
List psycopg
On 07/21/2017 12:24 PM, Graeme Gemmill wrote:
> I wish to issue an UPDATE command to update 4 columns of a row that has
> a unique primary key vindex:
>
> SQL = "UPDATE contact SET firstname, addnlnames, surname, rev WHERE
> vindex =? (%s, %s, %s, %s);"
> data = (.......)
> cursor.execute(SQL, data)
>
> How is the value of vindex specified? Is my ? to be replaced by %s where
> the value of vindex is the first of the data values?

It seems you may be confused about both SQL syntax and psycopg2's
handling of parameters. Start with the Posgtgres documentation about the
UPDATE statement:

https://www.postgresql.org/docs/9.6/static/sql-update.html

As explained in its documentation, "%s" is the psycopg2 placeholder. The
SQL string you should pass to pyscopg2 is "UPDATE contact SET firstname
= %s, addnlnames = %s, surname = %s, rev =% WHERE vindex = %s".

http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries

--
Jonathan Rogers
Socialserve.com by Emphasys Software
jrogers@emphasys-software.com


Attachment

psycopg by date:

Previous
From: Tom Kazimiers
Date:
Subject: [psycopg] Fetching data from binary cursor
Next
From: Daniele Varrazzo
Date:
Subject: Re: [psycopg] Fetching data from binary cursor