📜  MySQL 中的 UUID_SHORT()函数(1)

📅  最后修改于: 2023-12-03 15:17:47.210000             🧑  作者: Mango

MySQL 中的 UUID_SHORT() 函数

MySQL 中的 UUID_SHORT() 函数用于生成指定长度的唯一标识符(UUID),它是 MySQL 内置的函数之一,常常用于创建表时为主键字段生成唯一标识符。

语法

UUID_SHORT()

参数

该函数无需传入参数。

返回值

返回一个 64 位的整型数值(bigint),可以表示的最大值为 18,446,744,073,709,551,615,也就是说最大能产生 18,446,744,073,709,552 种不同的标识符。

示例

以下示例演示如何在 MySQL 中使用 UUID_SHORT() 函数:

CREATE TABLE `users` (
  `id` bigint(20) unsigned NOT NULL,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `users` (`id`, `name`, `email`)
VALUES (UUID_SHORT(), 'John Doe', 'john.doe@example.com');
INSERT INTO `users` (`id`, `name`, `email`)
VALUES (UUID_SHORT(), 'Jane Smith', 'jane.smith@example.com');

以上示例代码创建了一个名为 users 的表,并向该表插入了两行数据,其中主键 id 列由 UUID_SHORT() 函数自动生成。

注意事项
  • UUID_SHORT() 函数只能在 MySQL 中使用,其他数据库系统可能不支持该函数。
  • UUID_SHORT() 函数生成的标识符不保证全局唯一,但在实践中通常已足够使用。
  • UUID_SHORT() 函数生成的标识符是一个随机值,不具有任何规律性,因此无法推算出其它标识符的值。
  • UUID_SHORT() 函数返回的值可以作为表的主键使用,但需要注意的是该函数生成的值是一个整型数值,而非字符串。若需要将其转换为字符串,可以使用 MySQL 自带的函数 CAST() 或 CONVERT(),例如 SELECT CAST(UUID_SHORT() AS CHAR)