I MariaDB, UUID_SHORT() är en inbyggd funktion som returnerar en kort Universal Unique Identifier (UUID).
Den returnerar ett 64-bitars osignerat heltal (i motsats till strängformad 128-bitars identifierare som returneras av UUID() funktion).
Syntax
Syntaxen ser ut så här:
UUID_SHORT() Så inga argument krävs (eller accepteras).
Exempel
Här är ett exempel att visa:
SELECT UUID_SHORT(); Resultat:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162560 | +-------------------+
Om jag ringer det en annan gång får jag ett annat värde:
SELECT UUID_SHORT(); Resultat:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162561 | +-------------------+
Om resultatet
Värdet som returneras av UUID_SHORT() är garanterat unik om följande villkor är uppfyllda:
server_idför den nuvarande värden är unik bland din uppsättning master- och slavservrarserver_idär mellan0och255- Du ställer inte tillbaka din systemtid för din server mellan
mysqldstartar om - Du anropar inte
UUID_SHORT()i genomsnitt mer än 16 miljoner gånger per sekund mellanmysqldstartar om
Observera att satser som använder UUID_SHORT() funktion är inte säkra för programsatsbaserad replikering.
Jämfört med UUID() Funktion
Resultatet returneras av UUID_SHORT() liknar den som returneras av UUID() funktion, förutom att resultatet returneras av UUID() är ett 128-bitars tal representerat av en utf8-sträng med fem hexadecimala tal i aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee formatera.
Här är en jämförelse av de två:
SELECT
UUID(),
UUID_SHORT(); Resultat:
+--------------------------------------+-------------------+ | UUID() | UUID_SHORT() | +--------------------------------------+-------------------+ | e67d0fc6-cd8d-11eb-be04-88e9fe739f3d | 99291717236162562 | +--------------------------------------+-------------------+
Utöver detta, från MariaDB 10.6.1, en SYS_GUID() funktion har lagts till för att förbättra Oracle-kompatibiliteten.
Inga argument
Som nämnts, UUID_SHORT() accepterar inga argument. Så här händer när jag klarar ett argument:
SELECT UUID_SHORT(3); Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UUID_SHORT'