db2_last_insert_id
(PECL ibm_db2 >= 1.7.1)
db2_last_insert_id — Devolver el ID autogenerado el la última sentencia INSERT ejecutada correctamente en la conexión
Descripción
$resource
)Devuelve el ID autogenerado de la última sentencia INSERT ejecutada correctamente en la conexión.
El resultado de esta función no se ve afectado por lo siguiente:
-
Una sentencia INSERT sencilla con la cláusula VALUES para una tabla sin una columna de identidad.
-
Una sentencia INSERT múltiple con la claúsula VALUES.
-
Una sentencia INSERT con FULLSELECT.
-
Una sentencia ROLLBACK.
Parámetros
-
resource -
Una conexión válida devuelta por db2_connect() o db2_pconnect(). El valor de este parámetro no puede ser un recurso de sentencia o de resultado.
Valores devueltos
Devuelve el ID autogenerado de la última sentencia INSERT que se ejecutó correctamente en esta conexión.
Ejemplos
Ejemplo #1 Ejemplo de db2_last_insert_id()
El siguiente ejemplo muestra como devolver el ID autogenerado por la última sentencia INSERT ejecutada correctamente.
<?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.";
}
?>
El resultado del ejemplo sería:
Last Insert ID is : 1