Autor Zpráva
tark
Profil
Sorry, ptám se tu jak blbec, ale mám další problém - jak získat ID vloženého řádku (v PHP)? V MySQL na to byla myslím funkce mysql_insert_id, ale teď jsem hledal v manuálu a nic jsem nenašel... Pomůžete? Předem děkuju!
Kajman_
Profil *
Pokud se nepletu, tak v pgsql se užívají sekvence. Takže automatické číslování řádku je mimo tabulku. Zeptáte se sekvence na další volné číslo, to si zapamatujete, použijete ho při vkládání záznamu a pro další věci, které s novým id potřebujete.

http://www.postgresql.org/docs/8.1/interactive/sql-createsequence.html
http://www.postgresql.org/docs/8.1/interactive/functions-sequence.html
tark
Profil
Díky, Vy jste moje záchrana ;-)

EDIT: Blbě jsem to přečetl, takže jiná otázka...

Může se stát, že se takhle vyskytnou dvě stránky se stejným ID? Nebo nextval() id 'zablokuje'?
Kajman_
Profil *
select nextval('vase_sekvence'::text) as dalsi_id;

V aplikaci si dalsi_id zapamatujete, použijete v insertu a těžko se vám stane nějaký problém.

Něco jako autoincrement se používá defaultní nastavení sloupečku na to nextval, ale fakt pqsql neznám a nevím, jestli jde bezpečně to id v takovém případě získat, proto bych to asi udělal takhle složitě.
tark
Profil
Nonic, dekuju moc! :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0