V MariaDB, UUID_SHORT()
je vestavěná funkce, která vrací krátký univerzální jedinečný identifikátor (UUID).
Vrací 64bitové celé číslo bez znaménka (na rozdíl od 128bitového identifikátoru ve tvaru řetězce, jak jej vrací UUID()
funkce).
Syntaxe
Syntaxe vypadá takto:
UUID_SHORT()
Nejsou tedy vyžadovány žádné argumenty (ani přijímány).
Příklad
Zde je příklad k demonstraci:
SELECT UUID_SHORT();
Výsledek:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162560 | +-------------------+
Když to zavolám jindy, dostanu jinou hodnotu:
SELECT UUID_SHORT();
Výsledek:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162561 | +-------------------+
O výsledku
Hodnota vrácená UUID_SHORT()
je zaručeno, že je jedinečný, pokud jsou splněny následující podmínky:
server_id
aktuálního hostitele je jedinečný mezi vaší sadou hlavních a podřízených serverůserver_id
je mezi0
a255
- Mezi
mysqld
nenastavíte systémový čas serveru restartuje - Nevyvoláte
UUID_SHORT()
v průměru více než 16 milionůkrát za sekundu mezimysqld
restartuje
Všimněte si, že příkazy používající UUID_SHORT()
funkce nejsou bezpečné pro replikaci založenou na příkazech.
Ve srovnání s UUID()
Funkce
Výsledek vrácený UUID_SHORT()
je podobný tomu, který vrací UUID()
funkce, kromě toho, že výsledek vrácený UUID()
je 128bitové číslo reprezentované řetězcem utf8 pěti hexadecimálních čísel v aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
formát.
Zde je srovnání těchto dvou:
SELECT
UUID(),
UUID_SHORT();
Výsledek:
+--------------------------------------+-------------------+ | UUID() | UUID_SHORT() | +--------------------------------------+-------------------+ | e67d0fc6-cd8d-11eb-be04-88e9fe739f3d | 99291717236162562 | +--------------------------------------+-------------------+
Kromě toho od MariaDB 10.6.1, SYS_GUID()
byla přidána funkce za účelem zvýšení kompatibility Oracle.
Žádné argumenty
Jak již bylo zmíněno, UUID_SHORT()
nepřijímá žádné argumenty. Zde je to, co se stane, když předám argument:
SELECT UUID_SHORT(3);
Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UUID_SHORT'