MySQL生成一個唯一ID


毫秒時間戳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 獲取當前日期及格式化

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM