Thread: Question re: serial
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I have a table with a primary key defined as serial unique. When I insert a row into the table, I need to get the value of that row back so that I can use it to link rows in another table to it. How do I do that in Postgresql? I know that I can define a sequence and insert the value manually, but is there a way to query the value of the most recently inserted serial column of a row? -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux) iD8DBQFAiqK0jeziQOokQnARArJKAJ0SEs8DO6ETa6yZI2Wq6SOmydEwzQCeIwLF on3NovbSaHa+tBrvrynyQfI= =d0AB -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, On Sat, 24 Apr 2004, Michael Satterwhite wrote: > I have a table with a primary key defined as serial unique. When I insert a > row into the table, I need to get the value of that row back so that I can > use it to link rows in another table to it. How do I do that in Postgresql? I > know that I can define a sequence and insert the value manually, but is there > a way to query the value of the most recently inserted serial column of a > row? See currval() and nextval() functions: Regards, - -- Devrim GUNDUZ devrim@gunduz.org devrim.gunduz@linux.org.tr http://www.TDMSoft.com http://www.gunduz.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFAiqXrtl86P3SPfQ4RAsxkAKCQ9oL9Jo4a7VZwqyI4YU6L7i3nEACgv/wM 0ce7up3AVctCYyksk7OYIpY= =8Hr5 -----END PGP SIGNATURE-----
On Sat, Apr 24, 2004 at 12:24:03 -0500, Michael Satterwhite <michael@weblore.com> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > I have a table with a primary key defined as serial unique. When I insert a > row into the table, I need to get the value of that row back so that I can > use it to link rows in another table to it. How do I do that in Postgresql? I > know that I can define a sequence and insert the value manually, but is there > a way to query the value of the most recently inserted serial column of a > row? When you use a serial type there a sequence is created for you. You can reference the most recent value of that sequence within the current session using currval. You can use the \d command in psql to see what sequence is being used to calculate the default value.