LAST_INSERT_ID в PostgreSQL

Продолжение темы, начатой этим сообщением.

К сожалению у PostgreSQL нет функции возвращающей последнее автоинкрементальное значение (аналог last_insert_id() в MySQL). Однако есть другая возможность узнать это значение. Для этого нужно воспользоваться следующим запросом:

SELECT CURRVAL(pg_get_serial_sequence('tblname','colname')) AS last_insert_id;

где tblname – имя таблицы, а colname – имя автоинкрементального столбца.

В 7-х версиях PostgreSQL нет функции pg_get_serial_sequence, поэтому запрос должен быть таким:

SELECT CURRVAL('tblname_colname_seq') AS last_insert_id;

где tblname_colname_seq – имя последовательности, привязанной к автоинкрементальному полю.

Поделиться в FacebookДобавить в TwitterДобавить в Telegram

Комментарии

Оставить комментарий

Ответ на LAST_INSERT_ID в PostgreSQL