MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách UUID_SHORT () hoạt động trong MariaDB

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ữa 0255
  • 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ữa mysqld 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'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách thực hiện hoạt động dự phòng cho thiết lập bản sao MySQL

  2. Cách SIGN () hoạt động trong MariaDB

  3. Cách SYSDATE () hoạt động trong MariaDB

  4. Cách UPDATEXML () hoạt động trong MariaDB

  5. Xây dựng Cơ sở dữ liệu MySQL hoặc MariaDB Chế độ chờ lạnh trên Amazon AWS