Tony Caduto <[EMAIL PROTECTED]> 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

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to