db2_last_insert_id

(PECL ibm_db2 >= 1.7.1)

db2_last_insert_idRetorna o ID gerado automaticamente da última consulta de inserção que foi executada com sucesso nesta conexão

Descrição

function db2_last_insert_id(resource $resource): ?string

Retorna o ID gerado automaticamente da última consulta de inserção que foi executada com sucesso nesta conexão.

O resultado desta função não é afetado por nenhuma das seguintes instruções:

  • Uma instrução INSERT de linha única com uma cláusula VALUES para uma tabela sem uma coluna de identidade.
  • Uma instrução INSERT de várias linhas com uma cláusula VALUES.
  • Uma instrução INSERT com uma seleção completa.
  • Uma instrução ROLLBACK TO SAVEPOINT.

Parâmetros

resource
Um recurso de conexão válido conforme retornado de db2_connect() ou db2_pconnect(). O valor deste parâmetro não pode ser um recurso de instrução ou recurso de conjunto de resultados.

Valor Retornado

Retorna o ID gerado automaticamente da última consulta de inserção que foi executada com sucesso nesta conexão.

Exemplos

Exemplo #1 Um exemplo de db2_last_insert_id()

O exemplo a seguir mostra como retornar o ID gerado automaticamente da última consulta de inserção que foi executada com sucesso nesta conexão.

<?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);

    /* Verificando se há uma única linha inserida. */
    $stmt = db2_exec($conn, $insertTable);
    $ret =  db2_last_insert_id($conn);
    if($ret) {
        echo "O último ID de inserção é: " . $ret . "\n";
    } else {
        echo "Nenhum último ID de inserção.\n";
    }

    db2_close($conn);
}
else {
    echo "Falha na conexão.";
}
?>

O exemplo acima produzirá:

O último ID de inserção é: 1