UUID
Синтаксис
UUID()
Описание
Возвращает универсальный уникальный идентификатор (UUID).
UUID разработан как число, глобально уникальное в пространстве и времени. Два вызова UUID() ожидается, что генерируют два разных значения, даже если эти вызовы выполняются на двух отдельных компьютерах, не подключенных друг к другу.
Результаты UUID() предназначены для уникальности, но не всегда можно положиться на их непредсказуемость и неугадываемость, поэтому их не следует использовать для этих целей.
UUID — это 128-битное число, представленное строкой utf8 из пяти шестнадцатеричных чисел в формате aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:
- Первые три числа генерируются из отметки времени.
- Четвёртое число сохраняет временную уникальность в случае, если значение отметки времени теряет монотонность (например, из-за перехода на летнее время).
- Пятое число — это номер узла IEEE 802, обеспечивающий пространственную уникальность. Если он недоступен (например, из-за отсутствия сетевой карты у компьютера-хоста или невозможности определить MAC-адрес интерфейса в операционной системе), используется случайное число. В этом случае пространственная уникальность не гарантируется. Тем не менее, вероятность коллизии должна быть очень низкой.
В настоящее время MAC-адрес интерфейса учитывается только в FreeBSD и Linux. В других операционных системах MariaDB использует случайно сгенерированное 48-битное число.
Утверждения, использующие функцию UUID(), не являются безопасными для репликации.
Результаты генерируются в соответствии со спецификациями «DCE 1.1: Процедурный вызов удалённых процедур» (Приложение А) CAE (Общей среды приложений), опубликованными The Open Group в октябре 1997 года (Номер документа C706).
Примеры
SELECT UUID(); +--------------------------------------+ | UUID() | +--------------------------------------+ | cd41294a-afb0-11df-bc9b-00241dd75637 | +--------------------------------------+
См. также
- UUID_SHORT() - Возвращает короткий (64-битный) универсальный уникальный идентификатор
-
SYS_GUID - UUID без символа
-для совместимости с Oracle - Тип данных UUID
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/uuid/