In MariaDB, UUID_SHORT()
is een ingebouwde functie die een korte Universal Unique Identifier (UUID) retourneert.
Het retourneert een 64-bits geheel getal zonder teken (in tegenstelling tot de tekenreeks-vorm 128-bits identifier zoals geretourneerd door de UUID()
functie).
Syntaxis
De syntaxis gaat als volgt:
UUID_SHORT()
Er zijn dus geen argumenten vereist (of geaccepteerd).
Voorbeeld
Hier is een voorbeeld om te demonstreren:
SELECT UUID_SHORT();
Resultaat:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162560 | +-------------------+
Als ik het een andere keer roep, krijg ik een andere waarde:
SELECT UUID_SHORT();
Resultaat:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162561 | +-------------------+
Over het resultaat
De waarde die wordt geretourneerd door UUID_SHORT()
is gegarandeerd uniek als aan de volgende voorwaarden wordt voldaan:
- De
server_id
van de huidige host is uniek onder uw set master- en slave-servers server_id
ligt tussen0
en255
- U stelt uw systeemtijd voor uw server niet terug tussen
mysqld
herstart - Je roept
UUID_SHORT()
niet aan gemiddeld meer dan 16 miljoen keer per seconde tussenmysqld
herstart
Merk op dat instructies met de UUID_SHORT()
functie zijn niet veilig voor replicatie op basis van instructies.
Vergeleken met de UUID()
Functie
Het resultaat geretourneerd door UUID_SHORT()
is vergelijkbaar met degene die wordt geretourneerd door de UUID()
functie, behalve dat het resultaat geretourneerd door UUID()
is een 128-bits getal dat wordt weergegeven door een utf8-reeks van vijf hexadecimale getallen in aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
formaat.
Hier is een vergelijking van de twee:
SELECT
UUID(),
UUID_SHORT();
Resultaat:
+--------------------------------------+-------------------+ | UUID() | UUID_SHORT() | +--------------------------------------+-------------------+ | e67d0fc6-cd8d-11eb-be04-88e9fe739f3d | 99291717236162562 | +--------------------------------------+-------------------+
Daarnaast, van MariaDB 10.6.1, een SYS_GUID()
functie is toegevoegd om de compatibiliteit met Oracle te verbeteren.
Geen argumenten
Zoals vermeld, UUID_SHORT()
accepteert geen argumenten. Dit is wat er gebeurt als ik een argument doorgeef:
SELECT UUID_SHORT(3);
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UUID_SHORT'