Hi Tom, but when i let pgsql setup everything (i mean when i create table -> pgsql creates sequence) ), i have called = no, before using any select nextval()... and in this case, it works great.
but once called = yes, select nextval(sequence_name); always gives me current value +1 :-( A. On Dec 9, 2007 4:51 PM, Tom Lane <[EMAIL PROTECTED]> wrote: > "Alain Roger" <[EMAIL PROTECTED]> writes: > > to perform an autoincrement in my SQL queries...specially while i use > insert > > into i do the following thing : > > > INSERT INTO mytable VALUES > > ( > > select nextval('users_user_id_seq'), > > ... > > ); > > > however this get the currentvalue + 1, or during creating the sequence i > > must say that start = 0. > > Really? Works fine for me: > > regression=# create sequence foo start with 10; > CREATE SEQUENCE > regression=# select nextval('foo'); > nextval > --------- > 10 > (1 row) > > regression=# select nextval('foo'); > nextval > --------- > 11 > (1 row) > > If you're initializing the sequence some other way, such as with > setval(), maybe you need to make use of the is_called option to setval(). > > regards, tom lane > -- Alain ------------------------------------ Windows XP SP2 PostgreSQL 8.2.4 / MS SQL server 2005 Apache 2.2.4 PHP 5.2.4 C# 2005-2008