array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.pg-last-oid.php', 1 => 'pg_last_oid', ), 'up' => array ( 0 => 'ref.pgsql.php', 1 => 'Функции PostgreSQL', ), 'prev' => array ( 0 => 'function.pg-last-notice.php', 1 => 'pg_last_notice', ), 'next' => array ( 0 => 'function.pg-lo-close.php', 1 => 'pg_lo_close', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/pgsql/functions/pg-last-oid.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_last_oid — Возвращает OID последней добавленной в базу строки
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
Экземпляр класса PgSql\Result, который возвращают функции pg_query(), pg_query_params() или pg_execute() (среди прочего).
Целое число (int) или строка (string), содержащая OID последней вставленной строки на соединении
connection
, либо false
, если произошла ошибка или
поле OID недоступно.
Версия | Описание |
---|---|
8.1.0 |
Параметр result теперь ожидает экземпляр класса
PgSql\Result; раньше параметр ждал ресурс (resource).
|
Пример #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);
?>