Trong MariaDB, UUID_SHORT()
là một hàm tích hợp trả về Mã số nhận dạng duy nhất toàn cầu (UUID) ngắn.
Nó trả về một số nguyên không dấu 64 bit (trái ngược với số nhận dạng 128 bit dạng chuỗi được trả về bởi UUID()
chức năng).
Cú pháp
Cú pháp như sau:
UUID_SHORT()
Vì vậy, không cần đối số (hoặc được chấp nhận).
Ví dụ
Dưới đây là một ví dụ để chứng minh:
SELECT UUID_SHORT();
Kết quả:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162560 | +-------------------+
Nếu tôi gọi nó vào lần khác, tôi nhận được một giá trị khác:
SELECT UUID_SHORT();
Kết quả:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162561 | +-------------------+
Giới thiệu về kết quả
Giá trị được trả về bởi UUID_SHORT()
được đảm bảo là duy nhất nếu các điều kiện sau là đúng:
-
server_id
của máy chủ hiện tại là duy nhất trong số các máy chủ chính và máy chủ phụ của bạn -
server_id
nằm giữa0
và255
- Bạn không đặt lại thời gian hệ thống cho máy chủ của mình giữa
mysqld
khởi động lại - Bạn không gọi
UUID_SHORT()
trung bình hơn 16 triệu lần mỗi giây giữamysqld
khởi động lại
Lưu ý rằng các câu lệnh sử dụng UUID_SHORT()
chức năng không an toàn để sao chép dựa trên câu lệnh.
So với UUID()
Chức năng
Kết quả được trả về bởi UUID_SHORT()
tương tự với cái được trả về bởi UUID()
, ngoại trừ kết quả được trả về bởi UUID()
là một số 128 bit được biểu thị bằng một chuỗi utf8 gồm năm số thập lục phân trong aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
định dạng.
Dưới đây là so sánh giữa hai loại:
SELECT
UUID(),
UUID_SHORT();
Kết quả:
+--------------------------------------+-------------------+ | UUID() | UUID_SHORT() | +--------------------------------------+-------------------+ | e67d0fc6-cd8d-11eb-be04-88e9fe739f3d | 99291717236162562 | +--------------------------------------+-------------------+
Ngoài ra, từ MariaDB 10.6.1, một SYS_GUID()
chức năng đã được thêm vào để nâng cao khả năng tương thích với Oracle.
Không tranh luận
Như đã đề cập, UUID_SHORT()
không chấp nhận bất kỳ đối số nào. Đây là những gì sẽ xảy ra khi tôi chuyển một đối số:
SELECT UUID_SHORT(3);
Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UUID_SHORT'