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

posted @   极客子羽  阅读(4475)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示