MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak działa UUID() w MariaDB

W MariaDB, UUID() to wbudowana funkcja, która zwraca uniwersalny unikalny identyfikator (UUID).

UUID jest generowany zgodnie ze specyfikacjami „DCE 1.1:Remote Procedure Call” (dodatek A) CAE (Common Applications Environment) opublikowanymi przez The Open Group w październiku 1997 r. (numer dokumentu C706).

Składnia

Składnia wygląda tak:

UUID()

Tak więc żadne argumenty nie są wymagane (ani akceptowane).

Przykład

Oto przykład do zademonstrowania:

SELECT UUID();

Wynik:

+--------------------------------------+
| UUID()                               |
+--------------------------------------+
| e5aa36ee-cd8a-11eb-be04-88e9fe739f3d |
+--------------------------------------+

Jeśli wywołam to innym razem, otrzymam inną wartość:

SELECT UUID();

Wynik:

+--------------------------------------+
| UUID()                               |
+--------------------------------------+
| f11b4702-cd8a-11eb-be04-88e9fe739f3d |
+--------------------------------------+

Informacje o identyfikatorze UUID

UUID (Universal Unique Identifier) ​​to numer, który ma być globalnie unikalny w czasie i przestrzeni. Dwa wywołania UUID() oczekuje się, że wygenerują dwie różne wartości, nawet jeśli te wywołania są wykonywane na dwóch oddzielnych komputerach, które nie są ze sobą połączone.

UUID to 128-bitowa liczba reprezentowana przez ciąg utf8 składający się z pięciu liczb szesnastkowych w aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee format:

  • Pierwsze trzy liczby są generowane na podstawie znacznika czasu.
  • Czwarta liczba zachowuje niepowtarzalność czasową na wypadek utraty monotonii wartości znacznika czasu (na przykład z powodu czasu letniego).
  • Piąty numer to numer węzła IEEE 802, który zapewnia unikatowość przestrzenną. Liczba losowa jest zastępowana, jeśli ta ostatnia nie jest dostępna. W takich przypadkach nie można zagwarantować niepowtarzalności przestrzennej. Powiedziawszy to, kolizja powinna być zdarzeniem o wyjątkowo niskim prawdopodobieństwie.

Zauważ, że instrukcje używające UUID() funkcje nie są bezpieczne dla replikacji opartej na instrukcjach.

W porównaniu z SYS_GUID() Funkcja

Wynik zwrócony przez UUID() jest podobny do zwracanego przez SYS_GUID() funkcja, z wyjątkiem tego, że SYS_GUID() nie zawiera symbolu myślnika (- ) w wyniku (natomiast, UUID() tak).

Oto porównanie tych dwóch:

SELECT 
    UUID(),
    SYS_GUID();

Wynik:

+--------------------------------------+----------------------------------+
| UUID()                               | SYS_GUID()                       |
+--------------------------------------+----------------------------------+
| 9e795ffc-cd71-11eb-8f75-0800270503a7 | 9E796001CD7111EB8F750800270503A7 |
+--------------------------------------+----------------------------------+

SYS_GUID() funkcja została wprowadzona w MariaDB 10.6.1 w celu zwiększenia kompatybilności z Oracle.

Jest też UUID_SHORT() funkcja, która zwraca krótki UUID jako 64-bitową liczbę całkowitą bez znaku.

Przekazywanie argumentów

Jak wspomniano, UUID() nie przyjmuje żadnych argumentów. Oto, co się dzieje, gdy przekazuję argument:

SELECT UUID(3);

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UUID'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przedstawiamy ClusterControl 1.5 — wyposażony w automatyczną weryfikację kopii zapasowych i przesyłanie do chmury

  2. Jak CHR() działa w MariaDB

  3. Jak połączyć się z AWS MySQL / MariaDB RDS lub EC2 Database z MySQL WorkBench?

  4. Jak wykryć, czy wartość zawiera co najmniej jedną cyfrę w MariaDB?

  5. Jak wdrożyć klaster MariaDB w celu zapewnienia wysokiej dostępności