Возвращает OID последней добавленной в базу строки


(PHP 4 >= 4.2.0, PHP 5)

pg_last_oidВозвращает OID последней добавленной в базу строки

Описание

string pg_last_oid ( resource $result )

pg_last_oid() используется для определения OID, соответствующего вставленной в таблицу строке.

Поле OID таблиц баз данных стало необязательным, начиная с версии PostgreSQL 7.2, а с версии 8.1 перестанет добавляться в таблицы по-умолчанию. Если поле OID таблицы не задано, используйте функцию pg_result_status() для проверки успешности вставки записей в таблицу.

Чтобы получить значение SERIAL поля после вставки строки в таблицу, используйте функцию PostgreSQL CURRVAL, передав ей имя последовательности, значение которой нужно получить. Чтобы узнать имя последовательности, необходимо использовать функцию pg_get_serial_sequence (PostgreSQL 8.0).

В PostgreSQL 8.1 есть функция LASTVAL, возвращающая значение наиболее часто используемой за сессию последовательности. Так можно избежать необходимость задавать название последовательности, таблицы или колонки.

Замечание:

Прежнее название функции: pg_getlastoid().

Список параметров

result

Ресурс результата запроса PostgreSQL, возвращаемый функциями pg_query(), pg_query_params() или pg_execute() (в числе прочих).

Возвращаемые значения

Строка, содержащая OID последней вставленной строки на соединении connection, либо FALSE, если произошла ошибка или поле OID недоступно.

Примеры

Пример #1 Пример использования pg_last_oid()

<?php
  
// Подключение к базе данных
  
pg_connect("dbname=mark host=localhost");
  
  
// Создание тестовой таблицы
  
pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");

  
// Вставка данных в таблицу
  
$res pg_query("INSERT INTO test VALUES (1)");

  
$oid pg_last_oid($res);
?>

Смотрите также

  • pg_query() - Выполняет запрос
  • pg_result_status() - Возвращает состояние результата запроса