PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

lastInsertId non funziona in Postgresql

PostgreSQL usa sequenze per generare valori per serial colonne e serial le colonne sono generalmente ciò che viene utilizzato per le colonne di "incremento automatico" in PostgreSQL. Le sequenze hanno nomi e sono, in generale, indipendenti da qualsiasi tabella particolare, quindi potresti avere una sequenza che genera ID univoci per diverse tabelle; il nome della sequenza è quello che lastInsertId vuole come argomento:

Ad esempio, PDO_PGSQL() richiede di specificare il nome di un oggetto sequenza per il nome parametro.

L'oggetto sequenza creato da PostgreSQL viene automaticamente chiamato [table]_[column]_seq , Quindi:

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