Avatar billede dennism Nybegynder
02. december 2006 - 14:26 Der er 6 kommentarer og
1 løsning

mySQL: ID ved insert?

Jeg har en Java program, hvor jeg smider data i min database.

Jeg har behov for, at vise brugeren ID'et tilhørende den række der netop er indsat. Hvordan klarer jeg nemmest dette?

I PHP kan man køre "mysql_insert_id();", men findes der noget lignende i Java?
Avatar billede morhan Novice
02. december 2006 - 14:57 #1
du kan udføre en alm select sætning

select last_insert_id();
Avatar billede dennism Nybegynder
02. december 2006 - 15:14 #2
Jeg laver dette:

ResultSet sql = MySQL.query("SELECT last_insert_id();");
sql.next();
System.out.println(sql.getInt("id"));

Men får så:
java.sql.SQLException: Column 'id' not found.

Hvad hedder kolonnen?
Avatar billede arne_v Ekspert
02. december 2006 - 15:40 #3
ResultSet sql = MySQL.query("SELECT last_insert_id() AS id");
sql.next();
System.out.println(sql.getInt("id"));

eller

ResultSet sql = MySQL.query("SELECT last_insert_id()");
sql.next();
System.out.println(sql.getInt(1));
Avatar billede arne_v Ekspert
02. december 2006 - 15:41 #4
husk iøvrigt at last insert id er "per connection" d.v.s. at det er vigtigt
at INSERT og SELECT laves på samme Connection objekt
Avatar billede arne_v Ekspert
02. december 2006 - 15:42 #5
i Java kan de iøvrigt også fiskes ud via:

Statement.getGeneratedKeys
Avatar billede dennism Nybegynder
02. december 2006 - 15:51 #6
Tak for hjælpen!

Smider I lige et svar - så laver vi en deler her.
Avatar billede arne_v Ekspert
02. december 2006 - 15:56 #7
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester