Postgresql / php - PullRequest
       17

Postgresql / php

1 голос
/ 26 августа 2009

Я хочу получить идентификатор текущей вставленной строки после выполнения запроса вставки.

p.s .: Я использую базу данных postgresql.

Ответы [ 3 ]

3 голосов
/ 26 августа 2009

Если мы предположим, что под "id" вы подразумеваете столбец, который является первичным ключом и также объявлен как SERIAL, вам нужно добавить RETURNING в оператор INSERT:

INSERT INTO <table>  (...) VALUES (...) RETURNING id;

А в PHP вы можете рассматривать этот оператор как обычный запрос, который возвращает одну строку.

0 голосов
/ 26 августа 2009

Из документации Postgres

Вставить одну строку в распределители таблиц, возвращая порядковый номер, сгенерированный предложением DEFAULT:

INSERT INTO distributors (did, dname) VALUES (DEFAULT, 'XYZ Widgets') RETURNING did;

http://www.postgresql.org/docs/8.3/interactive/sql-insert.html

0 голосов
/ 26 августа 2009

В PG7 это было pg_last_oid , документы там довольно четко объясняют, как получить последний идентификатор из более новой версии PG.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...