How to increment by hand a sequence number.

Started by Valerio Santinelliabout 27 years ago5 messagesgeneral
Jump to latest
#1Valerio Santinelli
tanis@mediacom.it

I've exported a table from an existing MSAccess database to my
PostgreSQL db.
I use a serial ID on the table and now I'm getting errors when I add a
new entry in the table if i don't specify the ID by hand (which should
be placed automatically by the db since it's a serial).

The exact error is this one:

Cannot insert a duplicate key into a unique index.

I think I should set the "last_value" field in the sequence to my real
last value aon the ID field of the table, but Idon't know how to do it.
Is there anybody who can help me ?

Thanks

Valerio Santinelli
tanis@mediacom.it

#2Jeong Jae Ick:정재익:
advance@advance.sarang.net
In reply to: Valerio Santinelli (#1)
Re: [GENERAL] How to increment by hand a sequence number.

It maybe done with next syntax;
drop sequence_name;
create sequence sequence_name start start_no;

But, if you want to increment the sequence_no by one manually, then;
select nextval('sequence_name');

==========ooOO /. .\ OOoo======================================
Dept. of Neurosurgery | http://advance.sarang.net
Masan Military Hospital | http://database.sarang.net
Korea | advance@nownuri.net
| advance@advance.sarang.net
Hanil-Town 201-2007, Yangduk2-Dong| Phone: +82-551-299-2624
Hwoiwon-Gu, Masan-Si, Kyungnam | O.P. : +82-551-271-2318
============OOo./-\.oOO========================================

On Mon, 18 Jan 1999, Valerio Santinelli wrote:

Show quoted text

I've exported a table from an existing MSAccess database to my
PostgreSQL db.
I use a serial ID on the table and now I'm getting errors when I add a
new entry in the table if i don't specify the ID by hand (which should
be placed automatically by the db since it's a serial).

The exact error is this one:

Cannot insert a duplicate key into a unique index.

I think I should set the "last_value" field in the sequence to my real
last value aon the ID field of the table, but Idon't know how to do it.
Is there anybody who can help me ?

Thanks

#3Blashko Alexander
black@lins.ospu.odessa.ua
In reply to: Valerio Santinelli (#1)
Re: [GENERAL] How to increment by hand a sequence number.

On Mon, 18 Jan 1999, Valerio Santinelli wrote:

I've exported a table from an existing MSAccess database to my
PostgreSQL db.
I use a serial ID on the table and now I'm getting errors when I add a
new entry in the table if i don't specify the ID by hand (which should
be placed automatically by the db since it's a serial).

The exact error is this one:

Cannot insert a duplicate key into a unique index.

I think I should set the "last_value" field in the sequence to my real
last value aon the ID field of the table, but Idon't know how to do it.
Is there anybody who can help me ?

you can get "last_value":
select max(ID) from table
you can create sequence with option 'start last_value+1' ( see man ).

Show quoted text

Thanks

Valerio Santinelli
tanis@mediacom.it

#4Dustin Sallings
dustin@spy.net
In reply to: Valerio Santinelli (#1)
Re: [GENERAL] How to increment by hand a sequence number.

On Mon, 18 Jan 1999, Valerio Santinelli wrote:

select max(id) from table;

will get you the max value, then you want to add one to that
number, and do this:

select setval('sequence_name', newvalue);

# I've exported a table from an existing MSAccess database to my
# PostgreSQL db.
# I use a serial ID on the table and now I'm getting errors when I add a
# new entry in the table if i don't specify the ID by hand (which should
# be placed automatically by the db since it's a serial).
#
# The exact error is this one:
#
# Cannot insert a duplicate key into a unique index.
#
#
# I think I should set the "last_value" field in the sequence to my real
# last value aon the ID field of the table, but Idon't know how to do it.
# Is there anybody who can help me ?
#
# Thanks
#
# Valerio Santinelli
# tanis@mediacom.it
#
#
#
#

--
SA, beyond.com My girlfriend asked me which one I like better.
pub 1024/3CAE01D5 1994/11/03 Dustin Sallings <dustin@spy.net>
| Key fingerprint = 87 02 57 08 02 D0 DA D6 C8 0F 3E 65 51 98 D8 BE
L_______________________ I hope the answer won't upset her. ____________

#5José Soares
jose@sferacarta.com
In reply to: Valerio Santinelli (#1)
Re: [GENERAL] How to increment by hand a sequence number.

Valerio Santinelli wrote:

I've exported a table from an existing MSAccess database to my
PostgreSQL db.
I use a serial ID on the table and now I'm getting errors when I add a
new entry in the table if i don't specify the ID by hand (which should
be placed automatically by the db since it's a serial).

The exact error is this one:

Cannot insert a duplicate key into a unique index.

I think I should set the "last_value" field in the sequence to my real
last value aon the ID field of the table, but Idon't know how to do it.
Is there anybody who can help me ?

Thanks

Valerio Santinelli
tanis@mediacom.it

You may drop the sequence and then re-create it by specifying the start
as in:

DROP SEQUENCE contatore;
CREATE SEQUENCE contatore START 101;

Or if you desire you can increment the counter like this:

SELECT NEXTVAL ('contatore');

Buon divertimento!
-Jose'-