Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: last_insert_id (php)



am  24.07.2006, um 17:31:34 +0200 mailte Marco Behnke folgendes:
> Ok, auf zu Frage drei :)

Okay ;-)


> In meinem alten System (mysql) habe ich nach dem Speichern von Objekten
> mit mysql_insert_id() die zuletzt vergebene ID des auto_increment
> ausgelesen und so die ID des Objektes ermittelt.
> 
> Das Postgres ein anderes Konzept hat (Sequenzen) und ich keine Funktion
> gesehen habe, die soetwas macht, werde ich mir wohl mit einem Umweg

Nein. nextval() und currval() sind Deine Freunde.
20:59 < akretschmer> ??currval
20:59 < rtfm_please> For information about currval
20:59 < rtfm_please> see http://www.postgresql.org/docs/current/static/functions-sequence.html


Mach Deinen INSERT, und dann:

INSERT ... VALUES (..., currval(name_der sequence), ...);


Das ist innerhalb Deiner Session eindeutig, und auch für außerhalb
Deiner Session. Selbst ein ROLLBACK verändert _NICHT_ Deine Sequence.


Andreas
-- 
Andreas Kretschmer    (Kontakt: siehe Header)
Heynitz:  035242/47215,      D1: 0160/7141639
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
 ===    Schollglas Unternehmensgruppe    === 



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group