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
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 |