Return Id In Postgresql

  • Автор темы Автор темы AnaStas
  • Дата начала Дата начала
A

AnaStas

Прошу модераторов форума дать консультацию по следующему вопросу:
Рабочая среда Perl - PostgreSQL
Есть запрос
Код:
$dbh->do ("INSERT INTO table (id, param1,param2) VALUES ('$argum1','$argum2','$argum3')") 
or die $dbh->errstr;
И никак не могу получить индекс этой последней записи. Просмотрел материал в инете. Там очень много для MySQL, гораздо меньше для PostgreSQL, но то что есть не работает. Ни currval(''table_id_seq''), ни RETURNING id, ни выбрать oid - все напрасно. Видимо, что-то не понимаю или недопонимаю. Подскажите, пожалуйста.
 
???? (Почетный секретчик), в тексте я указал, что RETURNING не проходит, т.к. версия PostgreSQL ниже третьей, да и PostgreSQL 8.3.8 Documentation я просматривал.
Но выход, все-таки, неожиданно найден :) и подсказал мне его наш Главный:
- Что ВЫ елозиете по интернету, - заметил он- поработайте сначала с Perl-документацией. Там что-то такое есть! Давайте-ка ПУСК->ВСЕ ПРОГРАММЫ->ActivePerl ...->Documentation. Откроется ActivePerl User Guide. Cпускайтесь в DBI и ищите нечто вроде Last insert ...
И точно! Есть там функция last_insert_id(). И вот ОН- работащий, тут же проверенный код:
Код:
. . . 
my $new_id;
$dbh->do ("INSERT INTO table (id, param1,param2) VALUES ('$argum1','$argum2','$argum3')") 
or die $dbh->errstr;
$new_id=$dbh->last_insert_id('', '', 'table', '');
. . .
Вот так и стал я сам себе модератор :)
Тема закрыта.
 
Что-то не видно там про версию
Прошу у форума прощения. Не правильно составлено предложение - зачастую мы забываем, что на форумы мы пишем, а не разговариваем. А это по смысловому восприятию могут быть разные вещи, ибо когда пишем, то используем причастные, деепричастные, временные и т.п. обороты, а в разговорной речи они часто опускаются. Отсюда и смысл подаваемого материала может быть нечетким, а зачастую и разным. Я, друзья, плохо продумал семантическую часть своей темы.
Обещаю исправиться :)
 
Официально, администрацией форума, извинения приняты=) Добро пожаловать к нам)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab