db2_last_insert_id

(PECL ibm_db2 >= 1.7.1)

db2_last_insert_idDevolver el ID autogenerado el la última sentencia INSERT ejecutada correctamente en la conexión

Descripción

db2_last_insert_id ( resource $resource ) : string

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