- 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 |
+--------------------------------------+-------+