webForumDet fria alternativet

Hur få ID't på just tillagd post?

Databaser & SQL

4 svar · 156 visningar · startad av Joakim

Medlem sedan dec. 199982 inlägg
Frågan#1

Tjo!

Sitter o klurar lite på en sak. Håller på med ett script (PERL + mySQL) för att sköta medlemmar på en sida. När någon blir medlem och jag har en insert till databasen, vars ID-fält är autoincrement, hur kan jag då se vilket ID posten tilldelades? Säg att jag t.ex. skall hänvisa till en ny sida där ID'et ska vara med i länken. Kort och gott, hur hämtar jag ID'et direkt efter en insert?

Treflig helg på eder alla

// Joakim

Medlem sedan mars 2002777 inlägg
#2
SELECT last_insert_id()
Medlem sedan dec. 199982 inlägg
#3

Jo det känner jag till, men finns det inte en teoretisk chans att det kan bli fel om två personer blir medlemmar i stort sett samtidigt? eller inbillar jag mig bara? =)

Medlem sedan mars 2002777 inlägg
#4

Nej, det kan inte bli fel, det är precis det som last_insert_id() ser till. Tar du t ex

SELECT id FROM table ORDER BY id DESC LIMIT 1

så kan det bli fel, likaså om du använder

SELECT max(id) FROM table
Medlem sedan mars 2002777 inlägg
#5

Såg nu när jag besökte ett annat forum att samma diskussion faktiskt förs där :)

http://www.webforum.nu/showthread.php?s=&threadid=46271

272 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
145 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)