sql >> Base de Datos >  >> RDS >> PostgreSQL

lastInsertId no funciona en Postgresql

PostgreSQL usa secuencias para generar valores para serial columnas y serial las columnas son generalmente lo que se usa para columnas de "incremento automático" en PostgreSQL. Las secuencias tienen nombres y, en general, son independientes de cualquier tabla en particular, por lo que podría tener una secuencia que genere ID únicos para varias tablas diferentes; el nombre de la secuencia es lo que lastInsertId quiere como argumento:

Por ejemplo, PDO_PGSQL() requiere que especifique el nombre de un objeto de secuencia para el nombre parámetro.

El objeto de secuencia creado por PostgreSQL se denomina automáticamente [table]_[column]_seq , Entonces:

$id = $db->lastInsertId('tableName_columnName_seq');