ugrás a tartalomhoz

postgresql insert

lorko · 2008. Nov. 13. (Cs), 21.45
sziasztok,

van egy users táblám abba beszúrok egy új felhasználót,
és szeretném tudni mi az uid amit kapott.

Tehát a kérdésem meg lehet-e csinálni egy körben,
azaz execute után ebből valahogy tudom mi az uid?
Vagy a felhasználó neve alapján lekérdem mit is kapott?
table users
-----------------------------------
uid   |    uname    |    email
 1    |    béla     |    belaemail
 2    |    géza     |    gezaemail
-----------------------------------

connect

my $sql = "INSERT INTO users (uname, email) VALUES (?, ?)";
my $sth = $dbh->prepare($sql);
   $sth->execute('józsi','jozsiemal');

   itt le lehet-e tudni a uid-t?

   $sth->finish;

disconect


válaszaitokat előre is köszönöm.
 
1

last_insert_id

lorko · 2008. Nov. 13. (Cs), 22.14
végül sikerült így megoldani:

my $uid = $dbh->last_insert_id(undef, undef, qw(users uid));


de vajon ez a megoldás miért nem működik?

INSERT INTO users(uname, email) VALUES ('józsi, jozsiemal') RETURNING uid;