UUID
Syntax
UUID()
Contents
Description
Returns a Universally Unique Identifier (UUID).
A UUID is designed as a number that is globally unique in space and time. Two
calls to UUID()
are expected to generate two different
values, even if these calls are performed on two separate computers that are
not connected to each other.
UUID() results are intended to be unique, but cannot always be relied upon to be unpredictable and unguessable.
A UUID is a 128-bit number represented by a utf8 string of five
hexadecimal numbers in aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
format:
- The first three numbers are generated from a timestamp.
- The fourth number preserves temporal uniqueness in case the timestamp value loses monotonicity (for example, due to daylight saving time).
- The fifth number is an IEEE 802 node number that provides spatial uniqueness. A random number is substituted if the latter is not available (for example, because the host computer has no Ethernet card, or we do not know how to find the hardware address of an interface on your operating system). In this case, spatial uniqueness cannot be guaranteed. Nevertheless, a collision should have very low probability.
Currently, the MAC address of an interface is taken into account only on FreeBSD and Linux. On other operating systems, MariaDB uses a randomly generated 48-bit number.
Statements using the UUID() function are not safe for statement-based replication.
The results are generated according to the "DCE 1.1:Remote Procedure Call" (Appendix A) CAE (Common Applications Environment) Specifications published by The Open Group in October 1997 (Document Number C706).
Examples
SELECT UUID(); +--------------------------------------+ | UUID() | +--------------------------------------+ | cd41294a-afb0-11df-bc9b-00241dd75637 | +--------------------------------------+
See Also
- UUID_SHORT() - Return short (64 bit) Universal Unique Identifier
- SYS_GUID - UUID without the
-
character for Oracle compatibility - UUID data type