PDO::lastInsertId

最後に挿入された行の ID あるいはシーケンスの値を返す

説明

public stringfalse PDO::lastInsertId(stringnull $name = null)

最後に挿入された行の ID、 あるいはシーケンスオブジェクトから次の値を返します。 これは、構成しているドライバに依存します。例えば PDO_PGSQL の場合、name パラメータにシーケンスオブジェクト名を指定することができます。

注意:

このメソッドは、異なる PDO ドライバ間で意味のあるもしくは 一貫性のある結果を返さないかも知れません。 構成しているデータベースが自動インクリメントフィールド、 もしくはシーケンスの概念をサポートしていないかも知れないためです。

パラメータ

name

ID が返されるべきシーケンスオブジェクト名を指定します。

戻り値

もし name パラメータにシーケンス名が指定されなかった場合、 PDO::lastInsertId はデータベースに挿入された最後の行の行IDに相当する文字列を返します。

もし name パラメータにシーケンス名が指定された場合、 PDO::lastInsertId は指定されたシーケンスオブジェクトから取得した最後の値に相当する 文字列を返します。

もし PDO ドライバがサポートしていない場合、 PDO::lastInsertIdIM001 SQLSTATE を発生させます。

エラー / 例外

PDO::ATTR_ERRMODEPDO::ERRMODE_WARNING に設定されていた場合、E_WARNING レベルのエラーが発生します。

PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION に設定されていた場合、PDOException がスローされます。