sequence behavior - is this correct
От | Marek Lewczuk |
---|---|
Тема | sequence behavior - is this correct |
Дата | |
Msg-id | 417B6E95.80906@lewczuk.com обсуждение исходный текст |
Ответы |
Re: sequence behavior - is this correct
|
Список | pgsql-general |
Hello, I would like to ask if my problem with sequence is a proper behavior or this is a bug (probably not)... I have a table: CREATE TABLE "testtable" ( "serialfield" SERIAL, "someotherfield" TEXT, PRIMARY KEY("serialfield") ) WITH OIDS; After creation of this table, sequence "testtable_serialfield_seq" is automatically created, with start value set to "1". CREATE SEQUENCE "public"."testtable_serialfield_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; And now I have to insert into this table some records from other rdbms (like MySQL) using sql inserts generated by e.g. mysqldump - it is a simple import of data, where "serialfield" has got some value... INSERT INTO testtable VALUES (1, 'sdsdsd'); INSERT INTO testtable VALUES (5, 'sdsdsd'); INSERT INTO testtable VALUES (10, 'sdsdsd'); And my question is: how sequence should react for this ? Right now start value of the sequence is still "1", so if I will make a query like "INSERT INTO testtable (someotherfield) VALUES ('sdsdsd')" then new record's serialfield will have value set to "1" - of course this record will not be created, because of primary key - but next insert will create a new record with serialfield set to "2". I didn't notice this problem before, because I have never made any imports of data in this way.. Window/Cygwin PostgreSQL 8.0.0beta3 Regards, ML
В списке pgsql-general по дате отправления: