webForumDet fria alternativet

Databasens nästa id nummer

ASP

2 svar · 305 visningar · startad av Meng

Medlem sedan feb. 2003549 inlägg
Frågan#1

Tja när jag öppnar TOP 1 av databasen och storterar via id DESC så får jag det högsta id nummret. Tar jag då det +1 får jag nästa id nummer som används. Men har jag redan använt nästa nummer och sedan raderat det ur databasen så kan jag inte räkna ut det via denna metoden. Finns det nån funktion man kan hämta det med?

Medlem sedan mars 20032 667 inlägg
#2

Du bör inte addera så som du gör. Vad ska du med nästa till? Det finns ju inte ännu?!

Ta istället ut id:et precis när det skapats, dvs efter din insert. För att göra detta använder du:

Access:

select @@identity

MySQL:

select last_insert_id()

Se mitt svar från i går om sama sak:
http://www.webforum.nu/showthread.php?s=&threadid=119174&forumid=22

Medlem sedan dec. 19995 874 inlägg
#3

Hej!

Läs gärna artikeln Unika rader i databas), speciellt de två sista styckena, där du kan läsa om de säkerhetsproblem som finns med att skapa en egen identifierare. Använd istället en inbyggd identifierare (auto increment), exakt hur du aktiverar en sådan beror lite på vilken databas du använder, men det löser du säkert!

Lycka till

246 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)