UUID_SHORT()
Returns a "short" universally unique identifier as a 64-bit unsigned integer (rather than a string-form 128-bit identifier as returned by the UUID() function).
The value of UUID_SHORT()
is guaranteed to be unique if the following conditions hold:
The server_id of the current host is unique among your set of master and replica servers.
server_id
is between 0 and 255.
You don't set back your system time for your server between mariadbd restarts.
You do not invoke UUID_SHORT()
on average more than 16 million times per second between mariadbd restarts
The UUID_SHORT()
return value is constructed this way:
(server_id & 255) << 56
+ (server_startup_time_in_seconds << 24)
+ incremented_variable++;
Statements using the UUID_SHORT() function are not safe for statement-based replication.
SELECT UUID_SHORT();
+-------------------+
| UUID_SHORT() |
+-------------------+
| 21517162376069120 |
+-------------------+
CREATE TABLE t1 (a BIGINT UNSIGNED DEFAULT(uuid_short()) PRIMARY KEY);
INSERT INTO t1 VALUES(),();
SELECT * FROM t1;
+-------------------+
| a |
+-------------------+
| 98113699159474176 |
| 98113699159474177 |
+-------------------+
UUID() ; Return full (128 bit) Universally Unique Identifier
Sequences - an alternative to auto_increment available from MariaDB 10.3
SYS_GUID - UUID without the -
character for Oracle compatibility
This page is licensed: GPLv2, originally from fill_help_tables.sql