Php/docs/function.db2-last-insert-id

提供:Dev Guides
< Php
移動先:案内検索

db2_last_insert_id

(PECL ibm_db2 >= 1.7.1)

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


説明

db2_last_insert_id ( resource $resource ) : string

この接続上で最後に成功した 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