Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [postgres] serial a pgadmin
misty
post 4.03.2010, 11:09:51
Post #1





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

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


hej!
jakis czas nie robilam juz nic w bazach danych ale teraz znow mi przyszlo. wczesniej pracowalam wiecej z mysql, teraz postgres. pytanie mam takie: w mysql jest auto_increment. w postgresie odpowiednik to serial. stworzylam sobie (uzywajac pgadmin) prosta tabele osoba z polami osoba_id (serial) oraz imie (char). no i teraz jak chce zrobic zwyklego prostego inserta (przy pomocy pgadmin jak i konsoli) i dodac tylko imie (no bo osoba_id ma sie sama inkrementowac) to mi krzyczy. tzn chce zebym recznie dodala jeszcze osoba_id. nie wiem co jest nie tak. czy tworzac kolumne w tablicy przy pomocy pgadmin oprocz tego ze oznacze ja jako serial, to musze cos jeszcze ustawic?


pzdr,
misty
Go to the top of the page
+Quote Post
piotrooo89
post 4.03.2010, 11:15:36
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




noo serial nie ma w sobie PK, fajnie by było jakiś pokazała jak krzyczy - czyli treść błędu.


--------------------
Go to the top of the page
+Quote Post
misty
post 4.03.2010, 11:21:49
Post #3





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

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


to co to pole robi? bez sensu.

no ja ustawilam zeby pole bylo serial oraz primary key. oto kod tej tabeli:

  1. CREATE TABLE osoba
  2. (
  3. osoba_id serial NOT NULL,
  4. imie character(20) NOT NULL,
  5. PRIMARY KEY (osoba_id)
  6. )
  7. WITH (
  8. OIDS = FALSE
  9. )
  10. ;
  11. ALTER TABLE osoba OWNER TO postgres;


no i przede wszystkim jak chce dodac wpis przy pomocy pgadmin to pojawia mi sie zapytanie do uzupelnienia:
  1. INSERT INTO osoba(
  2. osoba_id, imie)
  3. VALUES (?, ?);


czyli jak widac-chce bym recznie dodala osoba_id no i krzyczy:
  1. ERROR: syntax error at OR near ","
  2. LINE 3: VALUES (?, 'cos');
Go to the top of the page
+Quote Post
piotrooo89
post 4.03.2010, 11:24:13
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




no to z dodaj tak:

  1. INSERT INTO osoba (imie) VALUES ('cos');


--------------------
Go to the top of the page
+Quote Post
misty
post 4.03.2010, 11:27:31
Post #5





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

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


kurde, zadzialo. ale wiesz to jest troche mylace. tzn to, ze w ogole mi pokazuje to pole osoba_id do wstawienia. nie da sie tego w pgadmin ustawic tak, zeby wszystkie pola typu serial byly automatycznie inkrementowane i nie pokazywane w zapytaniach?

pzdr
Go to the top of the page
+Quote Post
piotrooo89
post 4.03.2010, 11:31:08
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




nie wiem, bo w postgre pisze tylko pod konsolą i mam 100% kontrolę nad tym co robię, Tobie też polecam.


--------------------
Go to the top of the page
+Quote Post
misty
post 4.03.2010, 11:33:33
Post #7





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

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


no wczesniej uzywalam konsoli. tzn do mysql. i w sumie kiedys jak w postgresie cos tam robilam to tez tylko konsola. ale ogolnie te zautomatyzowane narzedzia-nie da sie ukryc-troche ulatwiaja zycie.

no nic-dzieki za pomoc!

pzdr,
misty
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 Wersja Lo-Fi Aktualny czas: 23.07.2025 - 06:35