I MariaDB, UUID_SHORT()
er en indbygget funktion, der returnerer en kort Universal Unique Identifier (UUID).
Det returnerer et 64-bit usigneret heltal (i modsætning til strengformede 128-bit identifikator som returneret af UUID()
funktion).
Syntaks
Syntaksen ser sådan ud:
UUID_SHORT()
Så der kræves ingen argumenter (eller accepteres).
Eksempel
Her er et eksempel til demonstration:
SELECT UUID_SHORT();
Resultat:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162560 | +-------------------+
Hvis jeg kalder det en anden gang, får jeg en anden værdi:
SELECT UUID_SHORT();
Resultat:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162561 | +-------------------+
Om resultatet
Værdien returneret af UUID_SHORT()
er garanteret unik, hvis følgende betingelser er sande:
server_id
af den aktuelle vært er unik blandt dit sæt master- og slaveservereserver_id
er mellem0
og255
- Du sætter ikke din systemtid tilbage for din server mellem
mysqld
genstarter - Du påberåber dig ikke
UUID_SHORT()
i gennemsnit mere end 16 millioner gange i sekundet mellemmysqld
genstarter
Bemærk, at sætninger bruger UUID_SHORT()
funktion er ikke sikre til sætningsbaseret replikering.
Sammenlignet med UUID()
Funktion
Resultatet returneret af UUID_SHORT()
ligner den, der returneres af UUID()
funktion, bortset fra at resultatet returneres af UUID()
er et 128-bit tal repræsenteret af en utf8-streng med fem hexadecimale tal i aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
format.
Her er en sammenligning af de to:
SELECT
UUID(),
UUID_SHORT();
Resultat:
+--------------------------------------+-------------------+ | UUID() | UUID_SHORT() | +--------------------------------------+-------------------+ | e67d0fc6-cd8d-11eb-be04-88e9fe739f3d | 99291717236162562 | +--------------------------------------+-------------------+
Ud over dette, fra MariaDB 10.6.1, en SYS_GUID()
funktion er blevet tilføjet for at forbedre Oracle-kompatibiliteten.
Ingen argumenter
Som nævnt, UUID_SHORT()
accepterer ingen argumenter. Her er, hvad der sker, når jeg sender et argument:
SELECT UUID_SHORT(3);
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UUID_SHORT'