Auto-increment not really working

Поиск
Список
Период
Сортировка
От fixed
Тема Auto-increment not really working
Дата
Msg-id Pine.LNX.4.56.0307292025250.2426@waste.org
обсуждение исходный текст
Ответы Re: Auto-increment not really working  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
Список pgsql-general
Hi,

I am a bit puzzed about Postgres' auto-incrementing.

Supposing I have the following table:

CREATE TABLE foo (
  id serial primary key,
  name varchar(20));

Then, I can do the following:

INSERT INTO foo VALUES ('Test');
INSERT INTO foo VALUES ('Test 2');
...

The id for each name inserted should be 1, 2, 3, and so on.

This works for me on small tables. However, earlier, I tried to insert
about 9000 records through a Perl script and Postgres kept complaining:

Cannot insert a duplicate key into unique index schedule_pkey

And therefore Postgres didn't insert all the values.

After searching around I fixed this by:

INSERT INTO foo VALUES (nextval('schedule_id_key'),'Name');

This fixed the problem.

Why does this happen on large tables? I am nervous now because I have used
the insert calls without a nextval for small tables and things worked
fine, but now I am worried....

Is there any other method for this?

Thank you

Ogden Nefix

В списке pgsql-general по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Using YY-MM-DD date input
Следующее
От:
Дата:
Сообщение: Re: Does the block of code in a stored procedure execute as a transaction?