当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MySQL UUID()用法及代码示例


MySQL中的此函数用于返回根据RFC 4122“通用唯一标识符(UUID)URN命名空间”生成的通用唯一标识符(UUID)。它被设计为通用唯一的数字。即使两个UUID值是在两个独立的服务器上生成的,它们也应该是不同的。在MySQL中,UUID值是一个用utf8字符串表示的128位数字,十六进制数字的格式如下。

范例-

aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee

在此,前三个数字是根据时间戳的低,中和高部分生成的。如您所见,在上述格式中,第四位数字代码将保留时间唯一性,而第五位代码将提供空间唯一性,这是一个IEEE 802节点号。

用法:

UUID()

参数:
此方法没有任何参数。
返回:
它返回一个通用唯一标识符号。



Example-1:
借助UUID函数生成通用唯一标识符值。

SELECT UUID() 
AS UUID_Value ;

输出:

UUID_VALUE
fbe516f6-3e39-11eb-b897-0862660ccbd4

示例-2:
每当我们使用UUID函数时,我们都会获得不同的通用唯一标识符值。让我们检查一下。

  SELECT UUID() 
AS  
UUID_VALUE1, 
UUID() 
AS UUID_VALUE2, 
UUID() 
AS UUID_VALUE3 ;

输出:

UUID_VALUE1 UUID_VALUE2 UUID_VALUE3
e762634c-3e41-11eb-b897-0862660ccbd4 e7626367-3e41-11eb-b897-0862660ccbd4 e7626368-3e41-11eb-b897-0862660ccbd4

示例3:
在此示例中,我们将UUID用作表中的主键。为了演示,创建一个名为OrderDetails的表。

CREATE TABLE OrderDetails(
   OrderId BINARY(16) PRIMARY KEY,
   ProductName VARCHAR(100) NOT NULL,
   Price DECIMAL(10, 2) NOT NULL,
   ExpectedDelivery DATE NOT NULL
);

现在,将数据插入OrderDetails表。在这里,我们将使用UUID和UUID_TO_BIN()函数在OrderId列中分配值。

INSERT INTO OrderDetails(OrderId, ProductName, Price, ExpectedDelivery)
VALUES(UUID_TO_BIN(UUID()), 'Asus Rog', 90000.00, '2020-12-20'),
      (UUID_TO_BIN(UUID()), 'Acer Predator', 100000.00, '2020-12-18'),
      (UUID_TO_BIN(UUID()), 'Lenovo Legion', 85000.00, '2020-12-19'),
      (UUID_TO_BIN(UUID()), 'Hp Omen', 70000.00, '2020-12-18'),
      (UUID_TO_BIN(UUID()), 'Dell Inspiron', 65000.00, '2020-12-23'),
      (UUID_TO_BIN(UUID()), 'Acer Nitro', 60000.00, '2020-12-22'),
      (UUID_TO_BIN(UUID()), 'Asus Tuf', 80000.00, '2020-12-19');

接下来,我们将使用以下命令检查表。

SELECT  * from OrderDetails;

输出:

ORDERID PRODUCTNAME PRICE EXPECTEDDELIVERY
0xE50EF0D93E3E11EBB8970862660CCBD4 华硕罗格 90000.00 2020-12-20
0xE514F3293E3E11EBB8970862660CCBD4 宏cer捕食者 100000.00 2020-12-18
0xE514F6793E3E11EBB8970862660CCBD4 联想军团 85000.00 2020-12-19
0xE514F7C83E3E11EBB8970862660CCBD4 HP预兆 70000.00 2020-12-18
0xE514F9173E3E11EBB8970862660CCBD4 戴尔Inspiron 65000.00 2020-12-23
0xE514FA7B3E3E11EBB8970862660CCBD4 宏cer 60000.00 2020-12-22
0xE514FC6C3E3E11EBB8970862660CCBD4 华硕Tuf 80000.00 2020-12-19

相关用法


注:本文由纯净天空筛选整理自jana_sayantan大神的英文原创作品 UUID() function in MySQL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。