In MariaDB, UUID_SHORT()
è una funzione incorporata che restituisce un breve Universal Unique Identifier (UUID).
Restituisce un intero senza segno a 64 bit (al contrario dell'identificatore a 128 bit in forma di stringa restituito da UUID()
funzione).
Sintassi
La sintassi è questa:
UUID_SHORT()
Quindi, nessun argomento è richiesto (o accettato).
Esempio
Ecco un esempio da dimostrare:
SELECT UUID_SHORT();
Risultato:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162560 | +-------------------+
Se lo chiamo un'altra volta, ottengo un valore diverso:
SELECT UUID_SHORT();
Risultato:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162561 | +-------------------+
Informazioni sul risultato
Il valore restituito da UUID_SHORT()
è garantito come unico se sono vere le seguenti condizioni:
- Il
server_id
dell'host corrente è unico nel tuo set di server master e slave server_id
è compreso tra0
e255
- Non reimposti l'ora di sistema per il tuo server tra
mysqld
si riavvia - Non invochi
UUID_SHORT()
in media più di 16 milioni di volte al secondo tramysqld
si riavvia
Nota che le istruzioni usano UUID_SHORT()
non sono sicure per la replica basata su istruzioni.
Rispetto a UUID()
Funzione
Il risultato restituito da UUID_SHORT()
è simile a quello restituito da UUID()
funzione, tranne per il risultato restituito da UUID()
è un numero a 128 bit rappresentato da una stringa utf8 di cinque numeri esadecimali in aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
formato.
Ecco un confronto tra i due:
SELECT
UUID(),
UUID_SHORT();
Risultato:
+--------------------------------------+-------------------+ | UUID() | UUID_SHORT() | +--------------------------------------+-------------------+ | e67d0fc6-cd8d-11eb-be04-88e9fe739f3d | 99291717236162562 | +--------------------------------------+-------------------+
In aggiunta a questo, da MariaDB 10.6.1, un SYS_GUID()
è stata aggiunta la funzione per migliorare la compatibilità Oracle.
Nessun argomento
Come accennato, UUID_SHORT()
non accetta argomenti. Ecco cosa succede quando passo un argomento:
SELECT UUID_SHORT(3);
Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UUID_SHORT'