DELETING then INSERTING record with same PK in the same TRANSACTION - Mailing list pgsql-general

From Andrew Hardy
Subject DELETING then INSERTING record with same PK in the same TRANSACTION
Date
Msg-id CAKxhU8isUe6NUs7i7dJzdVeHHoK417Sv=z7jUoHZMHbezG_VkA@mail.gmail.com
Whole thread Raw
Responses Re: DELETING then INSERTING record with same PK in the same TRANSACTION  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: DELETING then INSERTING record with same PK in the same TRANSACTION  ("David G. Johnston" <david.g.johnston@gmail.com>)
Re: DELETING then INSERTING record with same PK in the same TRANSACTION  (Brent Wood <Brent.Wood@niwa.co.nz>)
List pgsql-general
Hi,

When I:

Begin a transaction
DELETE from <table> where id (PK) = <somevalue>
INSERT INTO <table> VALUES (<values - same PK>)
...
...
...
COMMIT

I get 

insert into "itinerary" ("dk", "locator") values ($1, $2) - duplicate key value violates unique constraint "itinerary_pkey"

Do I need some particular kind of settings on my transaction to be able to delete and insert afresh in the same transaction?

In case it is relevant - the first delete will lead to cascaded deletes on children.

Alternatively I wonder if I change the PK column value to "<somevalue>-FORDELETION" will I be free to insert under the same original PK value in the same transaction, then delete the FORDELETE item just before committing or will I hit the same issue?

Thanks,

Andrew


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Network Card Not Listening at Startup
Next
From: Brent Wood
Date:
Subject: Re: DELETING then INSERTING record with same PK in the same TRANSACTION