UUID

Stai visualizzando una vecchia versione di questo article. Visualizza la versione più recente.

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......
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.