MySQL SQL语句 生成32位 UUID

在运营中,有时会碰到线下下单,线下注册,需要在数据库对其数据批量生成导入的场景。

此时如果你的数据表主键并不是Int整型自动递增而是32位的UUID这种情况该怎么办呢?

 

MySQL 其实实现了UUID,并为我们提供UUID()函数。 用法如下:

 

 

  1. mysql> SELECT UUID();
  2. mysql> c2cb8f66-351f-11e7-b3ed-00163e0429b6
  3. mysql> SELECT REPLACE(UUID(), '-', ''); #将'-'符号替换掉
  4. mysql> 45c87fa0352211e78d40d4977a9ea871



 

在 MySQL 的 UUID() 函数中,前三组数字从时间戳中生成,第四组数字暂时保持时间戳的唯一性,
第五组数字是一个 IEEE 802 节点标点值,保证空间唯一。使用 UUID() 函数,可以生成时间、空间上都独一无二的值。
据说只要是使用了 UUID,都不可能看到两个重复的 UUID 值。
posted @ 2019-11-19 16:03  那些年的代码  阅读(2252)  评论(0编辑  收藏  举报