pg_last_oid

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_last_oid返回上一条记录的 oid

说明

pg_last_oid(PgSql\Result $result): string|int|false

pg_last_oid() 用于检索分配给插入行的 OID

从 PostgreSQL 7.2 开始 OID 字段成为可选项,在 PostgreSQL 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()(等)返回。

返回值

intstring,包含分配给指定 connection 中最近插入的行的 OID,如果出错或没有可用的 OID,则为 false

更新日志

版本 说明
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);
?>

参见