Avatar billede sth Novice
18. marts 2001 - 22:46 Der er 12 kommentarer og
1 løsning

find sidste id

Jeg har en MySql Db med en tabl der heder user, i denne taben er der et felt der heder  userID , detter felt er af typen int(6) og auto_increment

når nu en ny bruger bliver oprettet i basen vil jeg gerne have at vide hvilket userID nr brugern fik, jeg mener at have fundet ud af at det er noget med last_insert_id()  eller mysql_insert_id()  !!
Er her nogen der kan fortælle hvordan jeg gør ? og det skal være en løsning der kan sættes ind på en asp side
Avatar billede htx98i17 Professor
18. marts 2001 - 22:49 #1
SELECT * FROM user ORDER BY id LIMIT 0,1 DESC
Avatar billede erikjacobsen Ekspert
18. marts 2001 - 22:49 #2
Og inden du svarer så check lige diskussionen på http://www.eksperten.dk/spm/57705
Avatar billede htx98i17 Professor
18. marts 2001 - 22:49 #3
Jeg kan ikke finde ud af ASP, men du kan bruge mit eks i din sql sætning...
Avatar billede thomasledet Nybegynder
18. marts 2001 - 22:49 #4
select LAST_INSERT_ID() from tabel
Avatar billede htx98i17 Professor
18. marts 2001 - 22:51 #5
EJ-> det nåede jeg ikke at se :o)

sth -> og for at min eks er  rigtig skal id erstattes med userID :-)
Avatar billede thomasledet Nybegynder
18. marts 2001 - 22:51 #6
Avatar billede thomasledet Nybegynder
18. marts 2001 - 22:54 #7
Du skal ført køre dit insert-statement og inden du så låser databasen op igen skal du køre sgl-kommandoen \"select LAST_INSERT_ID() from user\" som jeg skrev før....
Avatar billede retep Nybegynder
18. marts 2001 - 22:55 #8
Hejsa ;) Her er et eksempel taget ud fra en større sammenhæng. Det opererer på en tabel ved navn succes! Som du kan se låses tabellen før sidste id trækkes ud. Derved sikres det at der ikke er en anden bruger der skriver til tabellen inden du trækker id\'et ud igen.

Håber du kan bruge det.

\'Låser tabellen succes, så ID kan hentes uden risiko for at der er kommet nyere id\'s.
sqllock = \"LOCK TABLES succes WRITE;\"
DBConn.execute(sqllock)


\'Indsætter i succes
StrSQL =\"Insert Into succes (session_id, beskrivelse, datotid,slettet) values(\"&sessionid&\", \'\"&beskrivelse&\"\', \'#\"&datonu&\"#\',\'false\')\"
DBConn.execute(StrSql)

\'Henter det sidst indsatte id (Dvs vores)
sqlid = \"select LAST_INSERT_ID() from succes;\"
rs = DBConn.execute(sqlid)

        \'returværdien skal være inde i låsen ellers mister den sin værdi
        succesID = rs(0)

\'Låser tabellen op igen
sqlunlock = \"UNLOCK TABLES;\"
DBConn.execute(sqlunlock)


Mvh
Retep
Avatar billede sth Novice
18. marts 2001 - 22:56 #9
jeg er med påat jeg kan bruge:
select LAST_INSERT_ID() from tabel

men hvad gør jeg for at få nummeret at se, altså noget med \"response.write id\"
Avatar billede erikjacobsen Ekspert
18. marts 2001 - 23:02 #10
Tabellen skal IKKE låses for at LAST_INSERT_ID() virker - læs
dokumentationen.
Avatar billede retep Nybegynder
18. marts 2001 - 23:05 #11
Vil jeg gøre ;))
Avatar billede sth Novice
18. marts 2001 - 23:13 #12
jeg kunne bruge det link som thomasledet  komm  med, så point til ham
Avatar billede thomasledet Nybegynder
19. marts 2001 - 00:19 #13
mange tak...:)
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