PHP8 db2_last_insert_id
(PECL ibm_db2 >= 1.7.1)
db2_last_insert_id — 返回成功的最后一个插入查询的自动生成的 ID 在此连接上执行
说明
db2_last_insert_id(resource $resource): ?string
返回成功的最后一个插入查询的自动生成的 ID 在此连接上执行。
此函数的结果不受以下任何情况的影响:
- 带有 VALUES 子句的单行 INSERT 语句,用于没有标识列的表。
- 带有 VALUES 子句的多行 INSERT 语句。
- 带有 fullselect 的 INSERT 语句。
- 回滚到 SAVEPOINT 语句。
参数
resource
从 db2_connect() 或 db2_pconnect() 返回的有效连接资源。此参数的值不能是 语句资源或结果集资源。
返回值
返回上次成功插入查询的自动生成的 ID 在此连接上执行。
示例
示例 #1 A db2_last_insert_id() example
以下示例演示如何返回 自动生成的上次成功插入查询的 ID 在此连接上执行。
<?php
$database = "SAMPLE";
$user = "db2inst1";
$password = "ibmdb2";
$conn = db2_connect($database, $user, $password);
if($conn) {
$createTable = "CREATE TABLE lastInsertID
(id integer GENERATED BY DEFAULT AS IDENTITY, name varchar(20))";
$insertTable = "INSERT INTO lastInsertID (name) VALUES ('Temp Name')";
$stmt = @db2_exec($conn, $createTable);
/* Checking for single row inserted. */
$stmt = db2_exec($conn, $insertTable);
$ret = db2_last_insert_id($conn);
if($ret) {
echo "Last Insert ID is : " . $ret . "\n";
} else {
echo "No Last insert ID.\n";
}
db2_close($conn);
}
else {
echo "Connection failed.";
}
?>
以上示例会输出:
Last Insert ID is : 1