Re: Last insert id
| От | Richard Huxton |
|---|---|
| Тема | Re: Last insert id |
| Дата | |
| Msg-id | 40C6BABD.6060204@archonet.com обсуждение исходный текст |
| Ответ на | Last insert id (mixo <mixo@coza.net.za>) |
| Список | pgsql-sql |
mixo wrote: > I have three tables which are related a serial field, table1_id, in on > of the tables. Updating the tables is done through a transaction. My > problem is, once I have insert a row in the first tables with > table1_id, I need for the other two tables. How can I get this? Is it > safe to use "select max(table1_id) from table1" after the insert? A SERIAL column is just an ordinary integer with a default of nextval(<sequence-name>). All you need to do is: INSERT INTO t1 (...) VALUES (...) INSERT INTO t2 (...) VALUES (currval(<sequence-name-from-table1>)...) Sequences are guaranteed to give values relevant to your current connection. -- Richard Huxton Archonet Ltd
В списке pgsql-sql по дате отправления: