PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

lastInsertId ne fonctionne pas dans Postgresql

PostgreSQL utilise des séquences pour générer des valeurs pour serial colonnes et serial les colonnes sont généralement ce qui est utilisé pour les colonnes "auto-incrémentées" dans PostgreSQL. Les séquences ont des noms et sont, en général, indépendantes de toute table particulière, vous pouvez donc avoir une séquence générant des ID uniques pour plusieurs tables différentes ; le nom de la séquence est ce que lastInsertId veut comme argument :

Par exemple, PDO_PGSQL() vous oblige à spécifier le nom d'un objet séquence pour le nom paramètre.

L'objet séquence créé par PostgreSQL est automatiquement nommé [table]_[column]_seq , Donc :

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