Databasens nästa id nummer

ASP

2 svar · 312 visningar · startad av Meng

Medlem sedan feb. 2003549 inlägg
Trådstart#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

256 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)