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