pg_last_oid
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_last_oid — Liefert den Objektbezeichner (OID) des zuletzt eingefügten Datensatzes
Beschreibung
Ab PostgreSQL 7.2 ist das Feld OID optional und ab der Version 8.1 wird es
nicht mehr standardmäßig in den Tabellen enthalten sein. Falls eine Tabelle
ohne OID definiert wurde, muss mit der Funktion
pg_result_status() geprüft werden, ob ein Datensatz
korrekt eingefügt wurde.
Um den Wert eines SERIAL
-Feldes in einem gerade
eingefügten Datensatz zu erhalten, ist der Aufruf der PostgreSQL-Funktion
CURRVAL
notwendig. Dem Aufruf muss der Name der in
dieser Datenbanksitzung zuletzt benutzten Sequenz übergeben werden. Ist der
Name dieser Sequenz unbekannt, muss er ab PostgreSQL 8.0 mittels der
Funktion pg_get_serial_sequence
ermittelt werden.
PostgreSQL enthält eine Funktion LASTVAL
, die den Wert
der zuletzt benutzten Sequenz der aktuellen Datenbanksitzung zurückgibt.
Sie macht die Angabe von Sequenz, Tabelle und Spalte überflüssig.
Hinweis:
Diese Funktion ersetzt die Funktion pg_getlastoid().
Rückgabewerte
Ein int oder string mit der OID des zuletzt eingefügten Datensatzes für
die angegebene connection
oder false
, falls ein
Fehler auftrat oder falls es keine OID gibt.
Beispiele
Beispiel #1 pg_last_oid()-Beispiel
<?php
// Mit der Datenbank verbinden
pg_connect("dbname=mark host=localhost");
// Beispieltabelle erzeugen
pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");
// Daten einfügen
$res = pg_query("INSERT INTO test VALUES (1)");
$oid = pg_last_oid($res);
?>