MySQL 数据库支持生成随机主键的函数,常用的有以下两种:
- UUID()
UUID() 函数可以生成一个 36 字符长度的全球唯一标识符(UUID),格式为:8-4-4-12。其中,第一个部分是四个字母数字字符,表示时间戳;第二个部分是两个字母数字字符,表示时钟序列;第三个部分也是两个字母数字字符,表示节点标识;最后一个部分是 12 个字母数字字符,表示随机数。
在 MySQL 中插入数据时可以使用 UUID() 函数作为主键值。例如:
INSERT INTO user (id, name, age) VALUES (UUID(), '张三', 20);
- RAND()
RAND() 函数可以生成一个大于等于 0 小于 1 的随机浮点数。在 MyBatis 中可以通过将 RAND() 转换为整数来生成随机整数作为主键值。
例如,在 MySQL 中插入数据时可以使用如下语句:
INSERT INTO user (id, name, age) VALUES (FLOOR(RAND()*1000000), '张三', 20);
以上代码会将随机浮点数乘以 1000000 并向下取整得到一个六位随机整数作为主键值。
注意:使用 RAND() 函数生成随机主键可能会导致重复的情况出现。如果需要保证全球唯一性,请使用 UUID() 函数。