Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [postgres] serial a pgadmin
Forum PHP.pl > Forum > Przedszkole
misty
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
piotrooo89
noo serial nie ma w sobie PK, fajnie by było jakiś pokazała jak krzyczy - czyli treść błędu.
misty
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');
piotrooo89
no to z dodaj tak:

  1. INSERT INTO osoba (imie) VALUES ('cos');
misty
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
piotrooo89
nie wiem, bo w postgre pisze tylko pod konsolą i mam 100% kontrolę nad tym co robię, Tobie też polecam.
misty
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.