毫秒時間戳ID
SELECT SUBSTR(date_format(NOW(3), '%Y%m%d%H%i%s%f'), 1, 17) as uniqueid
SUBSTR(str, pos, len)
函數的參數 pos 的坐標從 1 開始;%Y
四位數字表示的年份;而%y
兩位數字表示的年份;%m
兩位數字表示的月份(01, 02, ..., 12);%d
兩位數字表示月中的天數(00, 01,..., 31);%f
可以獲得6位的微秒 microsecond;- 年份4位,月份2位,天數2位,時分秒6位,毫秒保留3位,總位數為17位;
參考文檔:
詳解mysql 獲取當前日期及格式化
隨機數字ID
SELECT CONCAT(date_format(NOW(), '%Y%m%d%H'), LPAD(FLOOR(RAND()*10000000),7,0)) as idNumber
隨機UUID
select replace(uuid(),'-','') as uuid;
參考文檔:MySQL生成UUID