View Single Post
God morgen freaks, det er meg igjen med enda en underlig spekulasjon innen web-utvikling. Denne gangen relatert til MySQL, da jeg leser en bok om det as we speak. Vel.

Nå er det slik at når du lager en rad i en database, at du ellers ikke har kontroll over selve "auto-increment"-id verdien. Altså, jeg vet ikke hvilken unik id-verdi raden kommer til å få. Jeg har nå lest i et par timer på internet og stadig dukker det opp en metode for å fange MAX(); vardien av auto-increment ID. Men det synes jeg er veldig svakt og her er grunnen:

Hvis to personer (Ola og Kari) lager en rad i en DB samtidig, kan man risikere at id verdien som er MAX(); vil overlappe hverandre slik at man får samme ID for både Ola og Kari, nemelig MAX-id til Kari som registrerte seg et millisekund før Ola.

Jeg vet at man kan løse problemet med å dobbeltsjekke mot et parameter som man har ellers kontroll over, men det synes jeg blir altfor dårlig. Isåfall må man sjekke max minus 1 maxminus 2 max minus 3 verdiene i en for-loop inntil man treffer den som har riktig parameter. Jeg synes denne metoden overlaster serverene unødvendig. Jeg mener det må finnes en enklere løsning?

Hvordan får jeg tak i auto-increment verdien (INT) til raden som jeg lager? Hvordan gjør dere det !? Hva anbefaler dere? Mange takk.