Re: going crazy with serial type - Mailing list pgsql-general

From Stephan Szabo
Subject Re: going crazy with serial type
Date
Msg-id 20020131125551.D16906-100000@megazone23.bigpanda.com
Whole thread Raw
In response to Re: going crazy with serial type  (Cindy <ctmoore@uci.edu>)
List pgsql-general
On Thu, 31 Jan 2002, Cindy wrote:

> OK, next question.  I'm trying to use nextval/currval and I'm getting
> this:
>
> search_info=# select currval('state_vectors_id_seq');
> ERROR:  state_vectors_id_seq.currval is not yet defined in this session
> search_info=# select id from state_vectors;
>  id
> ----
>   1
> (1 row)
>
>
> shouldn't the first select have returned 1?  The state_vectors_id_seq
> is the sequence created by declaring id SERIAL in the table
> state_vectors, and I've done one INSERT INTO state_vectors VALUES
> (nextval('state_vectors_id_seq'), ... ); which worked fine and is
> where the 1 comes from.  (I'm interested in finding out the value used
> for the most recent insert, and currval seemed like a pretty painless
> way of doing so.)
>
> (I'm basing this on 4.15.2 of the postgresql faq kindly supplied
> earlier.)

Well, as you've run into, it doesn't quite work like that.  currval gives
you the most recently assigned number to your session, not the database as
a whole.  What are you trying to do with the id once you get it?


pgsql-general by date:

Previous
From: Andrew Sullivan
Date:
Subject: Re: Function to Pivot data
Next
From: Syd Alsobrook
Date:
Subject: System commands