- 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>' )
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 einename
-Zeichenfolge angegeben werden.
Beispiele¶
Zufällige UUID generieren:
SELECT UUID_STRING();
+--------------------------------------+
| UUID_STRING() |
|--------------------------------------|
| d47f4e30-306f-4940-8921-c154094df1a1 |
+--------------------------------------+
Benannte UUID:
SELECT UUID_STRING('fe971b24-9572-4005-b22f-351e9c09274d','foo');
+-----------------------------------------------------------+
| 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;
+--------------------------------------+-------+
| 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 |
+--------------------------------------+-------+