Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SOLVED] serial, Kłopoty z wpisaniem nowego rekordu
Blackhole
post
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

Ostrzeżenie: (0%)
-----


Sytuacja jest taka... Miałem w tablicy 7 rekordów. Talibca ma taką postać:
  1. CREATE TABLE biblia (
  2. id serial,
  3. ksiega int,
  4. rozdzial int,
  5. wod int,
  6. wdo int,
  7. tresc text,
  8. PRIMARY KEY (id)
  9. );
Zrobiłem sobie skrypt, który spisuje do SQL-a zawartość bazy. Jednak nie uwzględnia on tego, że pewne pola mogą być typu serial i przy uaktualnieniu bazy z tego pliku SQL zapisywane jest wszystko bezpośrednio poprzez odczytane wartości (serial jest wpisywany bezpośrednio pomijając mechanizmy bazy, które mogą - i chyba powinny - same go wpisywać).

Wydaje mi się, iz właśnie dlatego jest błąd, gdy próbuję dodać już rekord tak, jak powinno się go dodawać. Wnioskuję, że po uaktualnieniu bazy powyższym plikiem SQL, w bazie nie ma zapisanej ostatniej wartości sekwencji i dlatego wyskakuje mi błąd:
Cytat
Warning: pg_query(): Query failed: ERROR: duplicate key violates unique constraint "biblia_pkey" in /var/www/localhost/htdocs/www/admin.php on line 97

Jeśli to powyżej jest prawdą (co napisałem), to chciałbym zapytać, jak eksportuje się całą bazę tak, aby wszystkie mechanizmy bazy były zachowane :?:

Ten post edytował Blackhole 6.07.2005, 14:42:39


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Odnosnie seriala, to dziala to tak ze tworzone jest pole o typie int4, dodatkowo jest tworzona sekwencja i w tym polu jest jako wartosc domyslna wstawiane wywolanie sekwencji.
Stworz sobie tabelke, edytuj ja i zobaczysz jak to wyglada.


--------------------
Go to the top of the page
+Quote Post
Blackhole
post
Post #3





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

Ostrzeżenie: (0%)
-----


A jak się eksportuje całą bazę?


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Jedna z metod to z lini polecen inna np mozesz z pgadmina. Zaznaczasz baze, wybierasz narzedzia i tam masz backup


--------------------
Go to the top of the page
+Quote Post
Blackhole
post
Post #5





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

Ostrzeżenie: (0%)
-----


Byłbym raczej skłonny skorzystać z linii poleceń, bo tylko na jednym serwerze PostgreSQL mam phppgadmin.
Przejrzałem pobieżnie komendy z psql'a i jakoś nie wiem, której można do tego wykorzystać. Nakierujesz mnie? A jak potem wrzucić tę kopię do innej bazy?

Ten post edytował Blackhole 6.07.2005, 10:41:37


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
jach
post
Post #6





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 21.03.2005

Ostrzeżenie: (0%)
-----


Na co dzien taki ladny duecik dla zdalnego hosta z postgresem

DUMP

pg_dump -h host -p port -U user baza_dump>plik_dump -i

RESTORE

psql -h host -p port -U user -d nowa_baza<plik_dump


pisalem z glowy , za ewetualne pomylki przepraszam.Pgadmina uzywac do tych rzeczy nie polecam bo sie czlowiek przyzwyczaja smile.gif a pozniej robi sie restore 20 MB pliku , przegladarka sie ladnie wywali czy czas sie zostanie przekroczony i zong
Go to the top of the page
+Quote Post
Blackhole
post
Post #7





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

Ostrzeżenie: (0%)
-----


Dzięki, jach smile.gif

---- edit ----
Nic to jednak nie pomogło z problemem tego seriala blink.gif

Ten post edytował Blackhole 6.07.2005, 12:44:08


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
SongoQ
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Ale seriala Ci nie zrzuci tylko sekwencje i pole typu int4.


--------------------
Go to the top of the page
+Quote Post
Blackhole
post
Post #9





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

Ostrzeżenie: (0%)
-----


Zauważyłem, że last_value w sekwencji wynosi 3, a powinno wynosić 7. Jak zmienić tę wartość? Przez
Kod
update biblia_id_seq ...
nie można. Przez
Kod
alter sequence ...
raczej też nie można, bo z opisu tej komendy tak wywnioskowałem.
Jak więc można :?:


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
SongoQ
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


  1. SELECT SETVAL('sekwencja', 666)


--------------------
Go to the top of the page
+Quote Post
Jabol
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


  1. SELECT pg_catalog.SETVAL ('scheme.biblia_seq_id', 7, true);

a potem:
  1. INSERT
  2. INTO biblia (id, xxx) VALUES (pg_catalog.NEXTVAL('scheme.biblia_seq_id'), 'XXX');


//EDIT: kurcze, spóźniłem się ...

Ten post edytował Jabol 6.07.2005, 13:38:32
Go to the top of the page
+Quote Post
Blackhole
post
Post #12





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

Ostrzeżenie: (0%)
-----


Wielkie dzięki biggrin.gif Teraz można wpisywać tak, jak się powinno to robić cool.gif

Ten post edytował Blackhole 6.07.2005, 14:40:59


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 07:47