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_iddell'host corrente è unico nel tuo set di server master e slave server_idè compreso tra0e255- Non reimposti l'ora di sistema per il tuo server tra
mysqldsi riavvia - Non invochi
UUID_SHORT()in media più di 16 milioni di volte al secondo tramysqldsi 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'