(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
$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.
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.
Devuelve el ID autogenerado de la última sentencia INSERT que se ejecutó correctamente en esta conexión.
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