Kategorien:

Zeichenfolgen- und Binärfunktionen (Allgemein), Datengenerierungsfunktionen

UUID_STRING

Generiert entweder einen RFC 4122-kompatiblen, universell eindeutigen Bezeichner (UUID) der Version 4 (zufällig) oder der Version 5 (benannt) als formatierte Zeichenfolge.

Syntax

UUID_STRING()

UUID_STRING( '<uuid>' , '<name>' )
Copy

Argumente

'uuid'

Eine gültige UUID-Zeichenfolge. Dieser Wert ist der Namespace, der für die Generierung der zurückgegebenen UUID verwendet wird.

'name'

Der Name, der zur Generierung der zurückgegebenen UUID verwendet wird.

Rückgabewerte

Diese Funktion gibt einen 128-Bit-Wert zurück, der als Zeichenfolge formatiert ist (VARCHAR-Datentyp).

Nutzungshinweise

UUID_STRING unterstützt die Generierung von zwei Versionen von UUIDs, die beide mit RFC 4122 kompatibel sind:

  • Eine UUID der Version 4 (zufällig) wird zurückgegeben, wenn der Funktion keine Argumente bereitgestellt werden. Für die Zufallszahlengenerierung wird der 64-Bit-Mersenne-Twister verwendet, der als MT19937-64 bezeichnet wird.

  • Eine UUID der Version 5 (benannt) kann erstellt werden, indem als erstes Argument eine uuid-Zeichenfolge (als Namespace bekannt) und als zweites Argument eine name-Zeichenfolge angegeben werden.

Beispiele

Zufällige UUID generieren:

SELECT UUID_STRING();
Copy
+--------------------------------------+
| UUID_STRING()                        |
|--------------------------------------|
| d47f4e30-306f-4940-8921-c154094df1a1 |
+--------------------------------------+

Benannte UUID:

SELECT UUID_STRING('fe971b24-9572-4005-b22f-351e9c09274d','foo');
Copy
+-----------------------------------------------------------+
| UUID_STRING('FE971B24-9572-4005-B22F-351E9C09274D','FOO') |
|-----------------------------------------------------------|
| dc0b6f65-fca6-5b4b-9d37-ccc3fde1f3e2                      |
+-----------------------------------------------------------+

Erstellen Sie eine Tabelle und fügen Sie eine zufällige UUIDs ein:

CREATE OR REPLACE TABLE uuid_insert_test(random_uuid VARCHAR(36), test VARCHAR(10));

INSERT INTO uuid_insert_test (random_uuid, test) SELECT UUID_STRING(), 'test1';
INSERT INTO uuid_insert_test (random_uuid, test) SELECT UUID_STRING(), 'test2';
INSERT INTO uuid_insert_test (random_uuid, test) SELECT UUID_STRING(), 'test3';
INSERT INTO uuid_insert_test (random_uuid, test) SELECT UUID_STRING(), 'test4';
INSERT INTO uuid_insert_test (random_uuid, test) SELECT UUID_STRING(), 'test5';

SELECT * FROM uuid_insert_test;
Copy
+--------------------------------------+-------+
| RANDOM_UUID                          | TEST  |
|--------------------------------------+-------|
| 7745a0cf-d136-406b-9289-38072d242871 | test1 |
| 8c31e031-a6bf-479d-9abb-b7909f298ba1 | test2 |
| e65d5641-01c0-4126-b80d-c5ae6d4848be | test3 |
| bd02bf4e-fa5d-498d-8a9a-d38200f1ca30 | test4 |
| 4df2a34e-ad65-46b4-a51a-3eb9394aeb83 | test5 |
+--------------------------------------+-------+