PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

lastInsertId não funciona no Postgresql


PostgreSQL usa sequências para gerar valores para serial colunas e serial colunas são geralmente o que é usado para colunas de "incremento automático" no PostgreSQL. As sequências têm nomes e são, em geral, independentes de qualquer tabela específica, portanto, você pode ter uma sequência gerando IDs exclusivos para várias tabelas diferentes; o nome da sequência é o que lastInsertId quer como argumento:

Por exemplo, PDO_PGSQL() requer que você especifique o nome de um objeto de sequência para o nome parâmetro.

O objeto de sequência criado pelo PostgreSQL é automaticamente chamado de [table]_[column]_seq , Então:
$id = $db->lastInsertId('tableName_columnName_seq');