Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как получить id последней вставленной мною строки? / 8 сообщений из 8, страница 1 из 1
01.07.2008, 11:41
    #35403541
Большой Синий Кит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить id последней вставленной мною строки?
Подскажите, пожалуйста, я очень слаб в SQL
База PostgreSQL
Есть таблица, в которой существует столбец с
Код: plaintext
id serial

Я вставляю строку
Код: plaintext
INSERT INTO _имя_таблицы ...
Как мне получить id этой записи с учетом того, что одновременно могут работать несколько пользователей...

Код: plaintext
SELECT max(id) FROM _имя_таблицы
Так ведь нельзя, наверное?
...
Рейтинг: 0 / 0
01.07.2008, 11:49
    #35403582
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить id последней вставленной мною строки?
Конечно нельзя.
Нужно использовать
select currval(твоя последовательность);
...
Рейтинг: 0 / 0
01.07.2008, 11:54
    #35403602
Shagrat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить id последней вставленной мною строки?
INSERT INTO .... RETURNING id;
...
Рейтинг: 0 / 0
01.07.2008, 11:59
    #35403617
Большой Синий Кит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить id последней вставленной мною строки?
Спасибо! :)

А какая будет моя последовательность, если:
имя таблицы - billing
столбец - id_billing

Просто пытался вот так:

Код: plaintext
select currval(billing_id_billing_seq)

Пишет ERROR: column "billing_id_billing_seq" does not exist

Заранее благодарен
...
Рейтинг: 0 / 0
01.07.2008, 12:03
    #35403636
Большой Синий Кит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить id последней вставленной мною строки?
Вопрос снимается, нашел как :)СПАСИБО всем огромное
...
Рейтинг: 0 / 0
01.07.2008, 12:04
    #35403643
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить id последней вставленной мною строки?
имя таблицы_имяколонки_seq

У тебя

billing_id_billing_seq

А вообще, посмотри список сиквенсов - узнаешь по названию.
...
Рейтинг: 0 / 0
01.07.2008, 13:40
    #35404013
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить id последней вставленной мною строки?
имя seqence можно получить с помощью
Код: plaintext
pg_get_serial_sequence('tablename', 'fieldname')


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
01.07.2008, 13:42
    #35404018
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить id последней вставленной мною строки?
О, сколько нам открытий чудных
готовит просвещенья век...
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как получить id последней вставленной мною строки? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]