MySQL SQL语句 生成32位 UUID
在运营中,有时会碰到线下下单,线下注册,需要在数据库对其数据批量生成导入的场景。
此时如果你的数据表主键并不是Int整型自动递增而是32位的UUID这种情况该怎么办呢?
MySQL 其实实现了UUID,并为我们提供UUID()函数。 用法如下:
-
mysql> SELECT UUID();
-
mysql> c2cb8f66-351f-11e7-b3ed-00163e0429b6
-
mysql> SELECT REPLACE(UUID(), '-', ''); #将'-'符号替换掉
-
mysql> 45c87fa0352211e78d40d4977a9ea871
在 MySQL 的 UUID() 函数中,前三组数字从时间戳中生成,第四组数字暂时保持时间戳的唯一性, 第五组数字是一个 IEEE 802 节点标点值,保证空间唯一。使用 UUID() 函数,可以生成时间、空间上都独一无二的值。 据说只要是使用了 UUID,都不可能看到两个重复的 UUID 值。
梅花香自古寒来