PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

lastInsertId funktioniert nicht in Postgresql

PostgreSQL verwendet Sequenzen, um Werte für serial zu generieren Spalten und serial Spalten werden im Allgemeinen für "automatisch inkrementierende" Spalten in PostgreSQL verwendet. Sequenzen haben Namen und sind im Allgemeinen unabhängig von einer bestimmten Tabelle, sodass Sie eine Sequenz haben könnten, die eindeutige IDs für mehrere verschiedene Tabellen generiert. der Sequenzname ist was lastInsertId will als Argument:

Beispiel:PDO_PGSQL() erfordert, dass Sie den Namen eines Sequenzobjekts für den Namen angeben Parameter.

Das von PostgreSQL erstellte Sequenzobjekt erhält automatisch den Namen [table]_[column]_seq , Also:

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