A lpad、rpad填充函数--mysql随即订单生成

9 篇文章 0 订阅

– 订单号:雪花算法
– 正常一般 用年月日时分+一些字段生成订单号
– 如何避免订单号重复:拼接一些不会重复的东西,比如用户id(用户单点登录,随机数也有可能重复)
– 单点登录:同一账号在同一时空只能在一台设备上登录
– 避免一个用户疯狂点击提交,产生多个订单:提交按钮置灰设置、mq消息队列
– mq:rocket mq、rabbit mq、active mq等
注意,mysql中if-else语句不能嵌套begin-end一起使用

通过lpad函数填充,生成随机数
– lpad(num,length,str)—>表示用str把num左填充到length位
– rpad(num,length,str)为右填充 SELECT LPAD(“你好”,10,“haha”) as t; SELECT RPAD(“你好”,10,“haha”) as t;
– RAND()返回一个随机数
– ROUND(num,x)—>返回,num四舍五入,保留小数点后x位
– ROUND(num)—>返回,num四舍五入取整数

//拼接商品序号,年月日时分秒,和随机字段,生成订单号
SELECT CONCAT(
	     good_id,
      DATE_FORMAT(now(), '%Y%m%d%H%i%s'),
       lpad(round(round(rand(),4)*1000),4,'0')
    ) FROM good_info
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值