📜  MySQL 中的 UUID_SHORT()函数

📅  最后修改于: 2022-05-13 01:54:59.280000             🧑  作者: Mango

MySQL 中的 UUID_SHORT()函数

MySQL 中的此函数用于将“短”通用标识符作为 64 位无符号整数返回。如果满足以下条件,则 UUID_SHORT() 的值保证是唯一的:

  1. 当前服务器的 server_id 值在 0 到 255 之间,并且在我们的源服务器和副本服务器集中是唯一的。
  2. 我们不会在 mysqld 重新启动之间为我们的服务器主机设置系统时间。
  3. 我们应该在 mysqld 重新启动之间平均每秒调用 UUID_SHORT() 少于 1600 万次。

句法 :

UUID_SHORT()

范围 :
这个方法没有任何参数。

回报:
它返回一个通用唯一标识符号。

示例-1:
在 UUID_SHORT函数的帮助下生成一个简短的通用唯一标识符值。

SELECT UUID_SHORT() AS Short_UUID_Value ;

输出 :

SHORT_UUID_VALUE
99032629508046848

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

SELECT UUID_SHORT() 
AS  SHORT_UUID_VALUE1, UUID_SHORT() 
AS SHORT_UUID_VALUE2, UUID_SHORT() 
AS SHORT_UUID_VALUE3 ;

输出 :

SHORT_UUID_VALUE1SHORT_UUID_VALUE2SHORT_UUID_VALUE3
990326295080468499903262950804685099032629508046851

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

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

现在,将数据插入到 OrderDetails 表中。在这里,我们将使用 UUID_SHORT 函数来分配 OrderId 列中的值。

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

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

SELECT  * from OrderDetails2;

输出 :

ORDERIDPRODUCTNAMEPRICEEXPECTEDDELIVERY
99032629508046854Asus Rog90000.002020-12-20
99032629508046855Acer Predator100000.002020-12-18
99032629508046856Lenovo Legion85000.002020-12-19
99032629508046857Hp Omen70000.002020-12-18
99032629508046858Dell Inspiron65000.002020-12-23
99032629508046859Acer Nitro60000.002020-12-22
99032629508046860Asus Tuf80000.002020-12-19