mysql.h


UUID

UUID()

Devuelve un identificador único universal (UUID) generado de acuerdo con el "Procedimiento de llamada remota DCE 1.1" (Apéndice A) Especificaciones de CAE (Common Applications Environment), publicadas por "The Open Group" en Octubre de 1997 (Documento número C706). Un UUID está diseñado como un número que es único globalmente en el espacio y el tiempo. Es de esperar que dos llamadas a UUID() generen dos valores diferentes, aunque esas llamadas se realicen en dos ordenadores separados que no estén conectados entre ellos. Un UUID is es un número de 128 bits representado por una cadena de cinco números hexadecimales en el formato aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee format:

  • Los tres primeros números se generan a partir de un timestamp.
  • El cuarto número preserva la unicidad temporal en el caso en que el valor de timestamp pierda la secuencia (por ejemplo, en caso de cambio de hora para ahorro de luz diurna).
  • El quinto número es un número de nodo IEEE 802 que proporciona una unicidad espacial. Se sustituye por un número aleatorio si este último no está disponible (por ejemplo, porque el ordenador no dispone de una tarjeta Ethernet, o no se sabe cómo obtener la dirección de hardware del interfaz en el sistema operativo). En este casoIn, la unicidad espacial no puede ser garantizada. Sin embargo, una colisión tiene muy pocas probabilidades. Actualmente, la dirección MAC de un interfaz se tiene en cuenta sólo en FreeBSD y Linux. En otros sistemas operativos, MySQL usa un número aleatorio genrado de 48 bits.
mysql> SELECT UUID();
        -> '6ccd780c-baba-1026-9564-0040f4311e29'

Hay que tener en cuenta que UUID() aún no trabaja con replica. UUID() se añadió en MySQL 4.1.2.