Re: changing multiple pk's in one update

From: Glenn Maynard <glennfmaynard(at)gmail(dot)com>
To: Richard Broersma <richard(dot)broersma(at)gmail(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: changing multiple pk's in one update
Date: 2009-04-13 21:32:53
Message-ID: d18085b50904131432o1d3af00ci250d1077024648f5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Mon, Apr 13, 2009 at 5:18 PM, Richard Broersma
<richard(dot)broersma(at)gmail(dot)com> wrote:
>> Your PK is a composite of (entry, order)?  Won't your foreign keys
>> elsewhere all break when you shift the order around?
>
> If there really are foreign keys, then an update will not be allowed
> to shift a primary key unless the foreign key is set with ON UPDATE
> CASCADE then the shifts will be cascaded to all references
> automatically.

Right. I'm still dusting off my SQL after a long period of corrosion. :)

The same applies, though, if you have external references to the PK;
for example, if you have a web interface where "/sense/10/3" refers to
entry 10, sense 3. If your senses are reordered by someone else, and
you operate on /10/3, you may suddenly find yourself viewing or
modifying (or deleting!) a different sense. This could even happen
within the same transaction, if you're not very careful with
locking...

--
Glenn Maynard

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Richard Broersma 2009-04-13 21:43:01 Re: changing multiple pk's in one update
Previous Message Richard Broersma 2009-04-13 21:18:55 Re: changing multiple pk's in one update