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