sql >> Database teknologi >  >> RDS >> Mysql

MySQL UUID() når den ikke er unik?

Nå, hvis du kalder UUID() to gange og få de samme resultater, ville det mest problematiske være, at "ting er gået i stykker" (tm). Det formodes at være unikt, og det skal det altid være, så vidt jeg ved.

Der ville ikke være nogen "gendannelseskode" tilgængelig:Funktionen er designet til at skabe unikke nøgler selv på tværs af computere, så hvordan kunne den overhovedet vide, at resultatet ikke var unikt?

fra http://dev.mysql.com/ doc/refman/5.0/da/miscellaneous-functions.html#function_uuid

Måske mener du noget andet? For eksempel, hvis du bruger UUID() at generere noget, der skal være unikt (som en primær nøgle eller et unikt felt osv.), og du tidligere har tilføjet det samme nummer (som for eksempel at du kaldte UUID() én gang, men indsat noget to gange), så får du bare den standardfejl, du får, når du tilføjer ikke-unikt indhold til et sted, der burde være unikt. Du får ikke en ny.

  1. manualen. Læs den, og hvordan den bruger forskellige dele til at generere uuid .:http://dev.mysql.com /doc/refman/5.0/da/miscellaneous-functions.html#function_uuid

  2. Tjek linket på den manual for den faktiske definition (men det er ret læst, så du kan springe denne over):https://www2.opengroup.org/ogsys/jsp/publications/PublicationDetails.jsp?catalogno=c706

  3. Nogle nemmere at forstå metrics om sandsynligheden for dublikater her:http://en.wikipedia.org/wiki/ Universally_unique_identifier

  4. der er også en del snak på mysql-siden (fora osv.) om at bruge det som primær nøgle, men da jeg er på arbejde og har kort tid, skal du selv søge efter det :)



  1. DATEFROMPARTS() Eksempler i SQL Server (T-SQL)

  2. En introduktion til Concurrent Collection API'er i Java

  3. problemer med at installere mysql python, mysqldb-modul blev ikke fundet i django

  4. Håndteringsdato i SQL Server