1

Temat: Problem z polem typu serial

Witam i proszę o pomoc

Problem wygląda następująco :

Wgrałem masowo do bazy dane przy pomocy aplikacji którą do tego celu stworzyłem, niestety pole kluczowe jest typu serial a podczas wgrywania  musiałem wgrać stare numery w pole kluczowe teraz baza nie dodusza nowych wartości wprowadzanych przez użytkownika generując błąd że jest naruszenie unikalności sprawdziłem w logach i rzeczywiście baza generuje serial z zajętym numerem jak mogę to poprawić przeindeksowanie i vaccum  nic nie dało.

2

Odp: Problem z polem typu serial

Już po problemie pomogli koledzy z grupy dyskusyjnej rozwiązanie dla potomnych :

"Przeindeksowanie i vacuum nie mają jak pomóc, bo nie zajmują się takimi
rzeczami.

Jak masz type serial, to tam jest jakiś generator jako wartość domyślna,
przyjmijmy, że mamy tabelę taką:


                         Table "public.test"
Column |  Type   |                     Modifiers                     
--------+---------+---------------------------------------------------
   id     | integer | not null default nextval('test_id_seq'::regclass)
    i      | integer | not null
Indexes:
    "test_pkey" PRIMARY KEY, btree (id)

Wtedy mamy 'test_id_seq' jako nazwę generatora. Aby ustawić go na dobrą
wartość wystarczy zrobić:

select setval('test_id_seq', (select max(id)+1 from test));


szymon"

Ostatnio edytowany przez Rady (2009-01-21 19:01:20)