mysql 生成uuid

MySQL UUID() 函数

1.查看当前mysql 版本

mysql> show variables like '%version%';
+-------------------------+------------------------------+
| Variable_name           | Value                        |
+-------------------------+------------------------------+
| innodb_version          | 5.7.20                       |
| protocol_version        | 10                           |
| slave_type_conversions  |                              |
| tls_version             | TLSv1,TLSv1.1                |
| version                 | 5.7.20-log                   |
| version_comment         | MySQL Community Server (GPL) |
| version_compile_machine | x86_64                       |
| version_compile_os      | Linux                        |
+-------------------------+------------------------------+
8 rows in set (0.00 sec)

2.使用 UUID() 创建一个随机的36位数,其中 UUID 本身是32位的,因为 MySQL 生成的 UUID 有四个中划线,所以在 utf8 字符集里,长度为 36 位。可以看到,两次调用uuid 获得的值是不一样的

mysql> SELECT UUID(),UUID(),LENGTH(UUID()),CHAR_LENGTH(UUID()) \G
*************************** 1. row ***************************
             UUID(): 8bb7b1a9-e9e3-11e7-aa91-fa163e4d93c3
             UUID(): 8bb7b1bb-e9e3-11e7-aa91-fa163e4d93c3
     LENGTH(UUID()): 36
CHAR_LENGTH(UUID()): 36
1 row in set (0.00 sec)