Sintassi

UUID()

Spiegazione

Restituisce un Universal Unique Identifier (UUID) generato secondo "DCE 1.1: Remote Procedure Call" (Appendice A) CAE (Common Applications Environment) Specifications, pubblicato da The Open Group nell'October 1997 (Documento Numero C706).

L'UUID è pensato come numero che è unico nello spazio e nel tempo. Due chiamate a UUID() devono generare due valori diversi, anche se sono effettuate su due computer separati e non connessi tra loro.

L'UUID è un numero di 128 bit rappresentato da una stringa utf8 di cinque cifre esadecimali, nel formato aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:

  • I primi tre numeri sono generati da un timestamp.
  • Il quarto numero garantisce l'unicità temporale, nel caso in cui il valore timestamp perda tale caratteristica (ad esempio a causa dell'ora legale).
  • Il quinto numero è un numero di nodo IEEE 802 che garantisce l'unicità spaziale. Se questo non è disponibile (ad esempio perché il computer host non ha una scheda Ethernet, o non è possibile rilevare il suo indirizzo hardware) viene utilizzato un numero casuale. In tal caso però l'unicità spaziale non può essere garantita. L'eventualità di una collisione è comunque molto bassa.

    Atttualmente, sui sistemi FreeBSD e Linux, viene utilizzato l'indirizzo MAC di un'interfaccia. Sugli altri sistemi operativi, MariaDB utlizza un numero di 48 bit generato casualmente.

Esempi

MariaDB [(none)]> SELECT UUID();
+--------------------------------------+
| UUID()                               |
+--------------------------------------+
| cd41294a-afb0-11df-bc9b-00241dd75637 |
+--------------------------------------+

Vedi anche

  • UUID_SHORT() ; Restituisce un Universal Unique Identifier breve (64 bit)

Commenti

Sto caricando i commenti......