| От | Joe Conway |
|---|---|
| Тема | Re: how to determine OID of the row I just inserted??? |
| Дата | |
| Msg-id | 3E4295E6.8040204@joeconway.com обсуждение исходный текст |
| Ответ на | Re: how to determine OID of the row I just inserted??? (Tom Lane <tgl@sss.pgh.pa.us>) |
| Список | pgsql-general |
Tom Lane wrote: > "Jules Alberts" <jules.alberts@arbodienst-limburg.nl> writes: >>Something like lastval() IMHO is way too risky. > > currval() is what you want, and it is *not* risky. Read the sequence > documentation. Tom's absolutely correct, of course. See: http://www.us.postgresql.org/users-lounge/docs/7.3/postgres/functions-sequence.html Another common solution I've used is something like: create table person(pid serial, name text, aid int); create table address(aid int, street text); create sequence address_seq; Then in PHP (or whatever) do: select nextval('address_seq'); and put the value into a variable (let's say you get back 42). Now you can do: insert into person (name, aid) values ('John Doe', 42); insert into address values (42, 'Penny Lane'); HTH, Joe
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера