編碼的世界 / 優質文選 / 歷史

MySQL SQL語句 生成32位 UUID


2021年7月11日
-   

在運營中,有時會碰到線下下單,線下注冊,需要在數據庫對其數據批量生成導入的場景。
此時如果你的數據表主鍵並不是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 值。

熱門文章