Mysql tạo số nguyên id duy nhất

Trong hướng dẫn này, chúng ta sẽ nghiên cứu chức năng MySQL

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
6. Bạn hẳn đã nghe nói về số nhận dạng hoặc số nhận dạng duy nhất. Các ứng dụng mở rộng từ số ghế thi của bạn đến số Thẻ Aadhar/Số SSN của bạn, v.v.

Giả sử bạn có một bảng người trong MySQL và bạn được giao nhiệm vụ gán cho mỗi người trong số họ một mã định danh duy nhất. Có nhiều cách bạn có thể thực hiện việc này – sử dụng thủ công các số ngẫu nhiên, lưu ý rằng giá trị không lặp lại, v.v. Tuy nhiên, MySQL giúp chúng ta dễ dàng. Nó cung cấp cho chúng ta chức năng

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
7

Hàm

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
7 được sử dụng để trả về Mã định danh duy nhất toàn cầu [UUID] được tạo theo RFC 4122, “Không gian tên URN mã định danh duy nhất toàn cầu [UUID]”

Một điểm quan trọng cần lưu ý về UUID là chúng được thiết kế sao cho chúng là duy nhất trên toàn cầu về không gian và thời gian. Hai UUID không bao giờ giống nhau ngay cả khi chức năng được chạy trên hai thiết bị khác nhau

Giá trị UUID trong MySQL là một số 128 bit được biểu thị dưới dạng một chuỗi utf8 gồm năm số thập lục phân được phân tách bằng dấu '-'. Định dạng như sau -

aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeee

Chúng ta hãy xem cú pháp và một vài ví dụ về chức năng này

Cú pháp của MySQL UUID[]

UUID[]

Code language: SQL [Structured Query Language] [sql]

Ví dụ về MySQL UUID[]

Hãy để chúng tôi bắt đầu mọi thứ với một ví dụ cơ bản. Sử dụng câu lệnh

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
0 và hàm UUID[], chúng ta sẽ hiển thị một mã định danh duy nhất phổ quát

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]

Và đầu ra là -

Hiển thị hai UUID khác nhau

Bây giờ chúng ta hãy hiển thị hai UUID trong một truy vấn

SELECT UUID[] AS ID1, UUID[] as ID2;

Code language: SQL [Structured Query Language] [sql]

Và đầu ra là -

Như bạn có thể thấy, chúng tôi nhận được hai UUID khác nhau. Sự khác biệt là ở phần đầu tiên của UUID

Làm việc với bảng

Xem xét bảng 'Người' bên dưới

bảng người

Hãy để chúng tôi tạo một cột có tên UID lưu trữ một mã định danh duy nhất mà chúng tôi nhận được từ hàm

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
6 cho mỗi bản ghi. Chúng tôi sẽ sử dụng câu lệnh

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
2 và

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
3 cho việc này

ALTER TABLE Persons ADD UID text; UPDATE Persons SET UID=UUID[]; SELECT * FROM Persons;

Code language: SQL [Structured Query Language] [sql]

Chúng tôi tạo một UID cột của loại văn bản bằng cách sử dụng câu lệnh

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
2. Sau đó, chúng tôi sử dụng câu lệnh

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
3 để đặt giá trị UUID cho mỗi hàng và cuối cùng, chúng tôi sử dụng câu lệnh

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
0 để hiển thị bảng đã cập nhật. Đầu ra là -

Bây giờ chúng ta hãy cập nhật giá trị UID cho bản ghi có ID là 2. Truy vấn là -

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
0

Và đầu ra là -

Như bạn có thể thấy, mỗi khi chúng ta chạy hàm

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
6, chúng ta sẽ nhận được một UUID khác

Tùy chỉnh UUID

Chúng tôi đã thấy các UUID khác nhau được trả về ở trên là các ký tự có thể đọc được. Tuy nhiên, bốn dấu gạch ngang trong UUID về cơ bản là không cần thiết. Chúng tôi có khả năng sửa đổi UUID mà không ảnh hưởng đến khía cạnh “độc nhất” của nó

Đây là một cách mà chúng ta có thể làm cho UUID của mình nhỏ gọn hơn bằng cách sử dụng hàm

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
8. Chúng tôi sẽ cập nhật UUID của hàng với ID = 3. Truy vấn là -

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
2

Và đầu ra là -

Như bạn có thể thấy, chúng tôi đã làm cho UUID của mình nhỏ gọn hơn và tùy chỉnh nó mà không ảnh hưởng đến phần “độc nhất” của nó

Có một cách khác để tùy chỉnh UUID của bạn mà không thay đổi bit "duy nhất"

Tôi đã đề cập ở phần đầu rằng UUID là một số 128 bit được biểu thị dưới dạng một chuỗi utf8 gồm năm số thập lục phân

Chúng ta có thể chuyển đổi nó sang các ký hiệu khác. Trong truy vấn bên dưới, chúng tôi chuyển đổi nó thành ký hiệu base64 bằng cách sử dụng hàm

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
9. Chúng tôi cũng sẽ tuân theo logic trước đây của hàm

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
8 và xóa bốn dấu gạch ngang. Truy vấn là -

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
5

Và đầu ra là -

Sự kết luận

Tạo số nhận dạng duy nhất hoặc UUID có một loạt các ứng dụng. Hàm

SELECT UUID[];

Code language: SQL [Structured Query Language] [sql]
7 rất quan trọng và tôi khuyến khích bạn kiểm tra các tài liệu tham khảo bên dưới để biết thêm thông tin chi tiết

Làm cách nào để tạo một số duy nhất trong MySQL?

MySQL Hàm RAND[] .

MySQL tạo ID duy nhất như thế nào?

Hàm UUID[] trong MySQL . Nó được thiết kế như một số duy nhất trên toàn cầu.

Chủ Đề