En MariaDB, UUID_SHORT()
es una función integrada que devuelve un identificador único universal (UUID) breve.
Devuelve un entero sin signo de 64 bits (a diferencia del identificador de 128 bits en forma de cadena que devuelve el UUID()
función).
Sintaxis
La sintaxis es así:
UUID_SHORT()
Por lo tanto, no se requieren (ni se aceptan) argumentos.
Ejemplo
Aquí hay un ejemplo para demostrarlo:
SELECT UUID_SHORT();
Resultado:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162560 | +-------------------+
Si lo llamo en otro momento, obtengo un valor diferente:
SELECT UUID_SHORT();
Resultado:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162561 | +-------------------+
Sobre el resultado
El valor devuelto por UUID_SHORT()
se garantiza que es único si se cumplen las siguientes condiciones:
- El
server_id
del host actual es único entre su conjunto de servidores maestros y esclavos server_id
está entre0
y255
- No retrasa la hora de su sistema para su servidor entre
mysqld
reinicia - No invoques
UUID_SHORT()
en promedio más de 16 millones de veces por segundo entremysqld
reinicia
Tenga en cuenta que las declaraciones que usan UUID_SHORT()
no son seguras para la replicación basada en declaraciones.
Comparado con el UUID()
Función
El resultado devuelto por UUID_SHORT()
es similar al devuelto por el UUID()
función, excepto que el resultado devuelto por UUID()
es un número de 128 bits representado por una cadena utf8 de cinco números hexadecimales en aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
formato.
Aquí hay una comparación de los dos:
SELECT
UUID(),
UUID_SHORT();
Resultado:
+--------------------------------------+-------------------+ | UUID() | UUID_SHORT() | +--------------------------------------+-------------------+ | e67d0fc6-cd8d-11eb-be04-88e9fe739f3d | 99291717236162562 | +--------------------------------------+-------------------+
Además de esto, desde MariaDB 10.6.1, un SYS_GUID()
se ha agregado la función para mejorar la compatibilidad con Oracle.
Sin Argumentos
Como se mencionó, UUID_SHORT()
no acepta ningún argumento. Esto es lo que sucede cuando paso un argumento:
SELECT UUID_SHORT(3);
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UUID_SHORT'