db2_last_insert_id

この接続上で最後に成功した insert クエリが自動生成した ID を返す

説明

stringnull db2_last_insert_id(resource $resource)

この接続上で最後に成功した insert クエリが自動生成した ID を返します。

この関数の結果は、以下のいずれにも影響を受けません。

  • VALUE 句を使用した単一行の INSERT 文で、ID カラムを指定していないもの

  • VALUE 句を使用した複数行の INSERT 文

  • 全選択からの INSERT 文

  • ROLLBACK TO SAVEPOINT 文

パラメータ

resource

db2_connect あるいは db2_pconnect が返す接続リソース。 このパラメータにはステートメントリソースや結果セットリソースを指定することはできません。

戻り値

この接続上で最後に成功した insert クエリが自動生成した ID を返します。

例1 db2_last_insert_id の例

次の例は、この接続上で最後に成功した insert クエリが自動生成した 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