Avatar billede cayenne Nybegynder
17. maj 2004 - 15:41 Der er 8 kommentarer og
1 løsning

Insert i flere tabeller på én gang i MySQL med sql

Hvis man ved hjælp af sql og java, skal indsætte data i flere tabeller på én gang, hvordan får man så fat på id'et i den første tabel, så man kan fører det videre i næste tabel så man får en relation ??
Avatar billede arne_v Ekspert
17. maj 2004 - 16:07 #1
Du kan kun indsætte i en tabel ad gangen.

Det du gør er at lave dine INSERT en af gangen.

Det auto incrementede ID kan du fiske ude efter INSERT og bruge i næste INSERT.
Avatar billede arne_v Ekspert
17. maj 2004 - 16:09 #2
stmt.getGeneratedKeys() returnerer et ResultSet med auto incrementede ID's i.

(med nyere JDBC driver)
Avatar billede cayenne Nybegynder
17. maj 2004 - 16:09 #3
Ja, men hvordan ? Jeg skal jo være sikker på at det ikke er et id, der er genereret af en anden bruger....
Avatar billede cayenne Nybegynder
17. maj 2004 - 16:10 #4
Ok, men hvordan ved jeg hvilket auto incremtented id, der er mit ?
Avatar billede arne_v Ekspert
17. maj 2004 - 16:11 #5
Informationen er per connection så der er ingen risko for at få rodete
forskellige brugeres ID's sammen.
Avatar billede cayenne Nybegynder
17. maj 2004 - 16:11 #6
PS Husk at svar, for at få point :o)
Avatar billede arne_v Ekspert
17. maj 2004 - 16:12 #7
Du kan også lave:

INSERT ... VALUES(...,LAST_INSERT_ID(),...)

men det er MySQL specifikt - stmt.getGeneratedKeys() virker med alle database
(forudsat JDBC 3.0 compliant driver).
Avatar billede arne_v Ekspert
17. maj 2004 - 16:12 #8
svar
Avatar billede cayenne Nybegynder
17. maj 2004 - 16:15 #9
Tusind tak for hjælpen :o)
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
Kurser inden for grundlæggende programmering

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