[PyGreSQL] How to insert a record if it doesn't exist else update it ?
Daryl Tester
Daryl.Tester at handcraftedcomputers.com.au
Thu Dec 20 02:18:41 EST 2007
fdu.xiaojf at gmail.com wrote:
> What I want to do is:
> if a record already exists in the table, update it
> if a record doesn't exist, insert it into the table
UPDATE foo SET ...
WHERE EXISTS (SELECT 1 FROM foo ...);
INSERT INTO foo
SELECT ... FROM ... WHERE NOT EXISTS (SELECT 1 FROM foo ...);
The 2nd statement is executed if the first appears false. Not
race-proof, and can't be, even with transactions, so be sure to
execute it in a sequential manner.
--
Regards,
Daryl Tester
"Verbogeny is one of the pleasurettes of a creatific thinkerizer."
-- Peter da Silva
More information about the PyGreSQL
mailing list