Avatar billede smads Nybegynder
09. december 2003 - 10:41 Der er 6 kommentarer og
1 løsning

Generere random ID-nummer

Hej Eksperter

Er der en måde hvorpå man kan få genereret et random id-nummer. Jeg bruger auto-increment, men vil gerne have genereret et tilfældigt (gerne højt) id-nummer...?!
Avatar billede arne_v Ekspert
09. december 2003 - 10:47 #1
Typisk vil man vel så lade sin applikation generere det tilfældige
tal.

Husk at applikationen skal kunne håndtere fejl p.g.a. duplikat.
Avatar billede smads Nybegynder
09. december 2003 - 10:49 #2
Er der ingen måde hvorpå MySQL kan gøre det?
Avatar billede smads Nybegynder
09. december 2003 - 10:52 #3
Og man skal vel sikre sig at det samme nummer ikke kommer flere gange..?
Avatar billede arne_v Ekspert
09. december 2003 - 10:53 #4
MySQL har en RAND funktion men umiddelbart vil jeg betragte den
som uegnet til formålet.
Avatar billede arne_v Ekspert
09. december 2003 - 10:55 #5
Noget a la:

INSERT INTO tabel VALUES (CAST((RAND()*1000000) AS integer), 123, 'abc');

virker ikke overbevisende på mig.

Applikationen skal alligevel håndtere duuplikat fejl.
Avatar billede smads Nybegynder
09. december 2003 - 12:38 #6
Har fundet en løsning - men tak for forsøget :)
Avatar billede erikjacobsen Ekspert
09. december 2003 - 12:40 #7
Jeg ville foreslå md5()-funktionen til formålet. Hvis det er fordi man ikke
skal kunne gætte tallet, skal det være noget større end 1000000. Du kan gøre det
meget simpelt ved at tage md5 på en streng bestående af dit autoincrementede
nummer, og en lang, fast streng, som kun du kender.
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