(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_last_oid — Devuelve el identificador de la última línea
pg_last_oid() sirve para recuperar el OID asignado a una línea insertada.
El campo OID se ha vuelto opcional desde PostgreSQL 7.2 y ya no estará presente por defecto en PostgreSQL 8.1. Cuando el campo OID no está presente en la tabla, el programador debe utilizar pg_result_status() para verificar si la línea ha sido correctamente insertada.
Para obtener el valor de un campo SERIAL en una línea
insertada, es necesario utilizar la función
CURRVAL de PostgreSQL nombrando la secuencia de la que se
requiere la última valor. Si el nombre de la secuencia es desconocido, la
función PostgreSQL 8.0 pg_get_serial_sequence es
necesaria.
PostgreSQL 8.1 tiene una función LASTVAL que devuelve el valor
de la secuencia más recientemente utilizada en la sesión. Esto permite evitar
nombrar la secuencia, la tabla o la columna.
Nota:
Anteriormente, esta función se llamaba pg_getlastoid().
resultUna instancia PgSql\Result, devuelta por pg_query(), pg_query_params(), o pg_execute() (entre otros).
Un entero o string que contiene el OID asignado a la línea más reciente insertada en
la conexión connection especificada o false en caso
de error o de OID no disponible.
| Versión | Descripción |
|---|---|
| 8.1.0 |
El parámetro result ahora espera una instancia de
PgSql\Result ; anteriormente, se esperaba un resource.
|
Ejemplo #1 Ejemplo con pg_last_oid()
<?php
// Conectar a la base de datos
pg_connect("dbname=mark host=localhost");
// Crear una tabla de ejemplo
pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");
// Insertar algunos datos
$res = pg_query("INSERT INTO test VALUES (1)");
$oid = pg_last_oid($res);
?>