How to increment by hand a sequence number.
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
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
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
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. ____________
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'-