From: | Douglas McNaught <doug(at)mcnaught(dot)org> |
---|---|
To: | tony_caduto(at)amsoftwaredesign(dot)com |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: weirdness with the a sql update |
Date: | 2005-08-04 14:41:36 |
Message-ID: | m2fytplq73.fsf@Douglas-McNaughts-Powerbook.local |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Tony Caduto <tony_caduto(at)amsoftwaredesign(dot)com> writes:
> Hi,
>
> I just noticed this, if I do a update like this:
>
> update new_requests set name = 'tony' where request_id = 2
>
> If I do a select * from new_requests that record I just updated is now
> at the bottom , before the update it was at the top?
>
> Why is Postgresql changing the ordering of the results after a simple
> update?
Results are returned in an arbitrary order unless you supply an ORDER
BY clause in your query.
> It almost looks like the record is being dropped and then readded to
> the end.
Yup. In Postgres, UPDATE == DELETE + INSERT, so the new row will very
likely go into a different place (this is so that existing
transactions can still see the old row before your transaction
commits).
-Doug
From | Date | Subject | |
---|---|---|---|
Next Message | Sven Willenberger | 2005-08-04 14:51:12 | Re: weirdness with the a sql update |
Previous Message | Martijn van Oosterhout | 2005-08-04 14:35:28 | Re: weirdness with the a sql update |