Avatar billede jonas82 Nybegynder
02. marts 2006 - 11:08 Der er 4 kommentarer og
1 løsning

Fejl ved mysql_insert_id()

Jeg har følgende procedure:
BEGIN
INSERT INTO event(name, description, state, locked, dateCreated, dateStart)
VALUES(name, description, state, locked, Now(), dateStart );
INSERT INTO event_user(user_id, event_id)
VALUES(id, mysql_insert_id());
END

jeg får så denne fejl fra Java:
java.sql.SQLException: FUNCTION databasenavn.mysql_insert_id does not exist

Nogen bud på hvordan jeg kan løse dette?
Avatar billede barklund Nybegynder
02. marts 2006 - 11:12 #1
mysql_insert_id er en funktion i C-API'et til MySQL - det er ikke en MySQL-funktion. Der er derimod en MySQL-funktion, der hedder LAST_INSERT_ID(), som du nok skal bruge i stedet :)

--
Morten Barklund
Avatar billede jonas82 Nybegynder
02. marts 2006 - 11:17 #2
Ok. Er jeg med den funktion sikker på at få fat i lige præcis det "event_id" som dette kald har fået genereret?
Avatar billede barklund Nybegynder
02. marts 2006 - 11:19 #3
Du får det seneste autoincrement-id genereret i din egen transaktion, så ja - selvom andre transaktioner her genereret autoincrement-id'er i mellem dine sætninger :)
Avatar billede jonas82 Nybegynder
02. marts 2006 - 11:23 #4
Mange tak.
Avatar billede barklund Nybegynder
02. marts 2006 - 11:27 #5
Og tark for points :)
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