Get last insert id after a prepared insert with PDO Get last insert id after a prepared insert with PDO postgresql postgresql

Get last insert id after a prepared insert with PDO


From the Manual:

Returns the ID of the last inserted row, or the last value from a sequence object, depending on the underlying driver. For example, PDO_PGSQL() requires you to specify the name of a sequence object for the name parameter.

It should be something like:

return $db->lastInsertId('yourIdColumn');

[EDIT] Update link to doc


From the PHP manual:

For example, PDO_PGSQL() requires you to specify the name of a sequence object for the name parameter.

You could also use RETURNING in the INSERT-statement and fetch the INSERT-result like a SELECT result.


Previous answers are not very clear (PDO doc too)

In postgreSQL, sequences are created when you are using the SERIAL data type.

CREATE TABLE ingredients (  id         SERIAL PRIMARY KEY,  name       varchar(255) NOT NULL,);

So the sequence name will be ingredients_id_seq

$db->lastInsertId('ingredients_id_seq');