sql >> Databáze >  >> RDS >> MariaDB

Jak UUID_SHORT() funguje v MariaDB

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 mezi 0 a 255
  • 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 mezi mysqld 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'

  1. Jak vytvořit tabulku v MySQL

  2. Manipulace s databázemi SQL pomocí PyQt:Základy

  3. ORA-00257:Chyba archivátoru. Připojte pouze interní, dokud se neuvolní.

  4. Jak donutím Postgres, aby používal konkrétní index?