MySQL高并发生成唯一订单号


当前第2页 返回上一页

例:获取的订单号:UIE20200611015
即生成的订单号为:UIE20200611016

  • 如果上一步获取的订单号为空,新生成的订单号后缀为001
    例:生成的订单号:UIE20200611001

  • 1

    2

    3

    4

    5

    6

    IF BILL_NOP !='' THEN

     SET lastno = CONVERT(SUBSTRING(BILL_NOP, -3), DECIMAL) ;

     SELECT

      CONCAT(BILL_TYPE,currentDate,LPAD((lastno + 1),3, '0')) INTO BILL_NOP ;ELSE

     SELECT

      CONCAT(BILL_TYPE,currentDate,LPAD((lastno + 1),3, '0')) INTO BILL_NOP ;END IF;

    5.将生成的订单号插入表中
    如果表中存在相同订单号则插入表失败
    如果表中不存在相同订单号则插入表成功

    1

    INSERT INTO temp_bill (BILL_NO, BILL_TYPE) VALUES (BILL_NOP,BILL_TYPE) ;

    6.返回唯一订单编号
    当订单插入表成功,即可返回唯一的订单编号(如果上一步不成功,即不会运行这一步)

    1

    SELECT   BILL_NOP;

    四、运行结果

    1.首先我的表里没有数据,会生成前缀(我输入的:UIE)+年月日(
    20200611)+001(第一个数据,所以是001)
    即:UIE20200611001

    2当我第二次输入时,由于表里有数据了,会根据最新的订单编号后缀加1
    即:UIE20200611002

    在这里插入图片描述

    五、不是小结的小结

    一个卑微菜鸡的自述:
    希望这边文章可以帮到大家
    积分充足的就直接下载吧,没有积分的对着图敲,反正代码量也不大
    如果你是学生,没有积分,可以私聊我,免费给你发源码

    代码下载链接:mysql_getbillno.sql
    代码截图:

    企业微信截图_15986806959401.png

    以上就是MySQL高并发生成唯一订单号的详细内容,更多文章请关注木庄网络博客

    返回前面的内容

    相关阅读 >>

    phpmyadmin主键能重复么

    mysql储存文字用什么

    关于mysql-检索数据的详解

    mysql查询最大值语句是什么

    mysql 实现设置多个主键的操作

    mysql中的人生见证

    怎么查看自己的mysql密码

    mysql数据库编码如何设置以及查看

    mysql中常用的技能介绍

    mysql shell的介绍以及安装

    更多相关阅读请进入《mysql》频道 >>


    数据库系统概念 第6版
    书籍

    数据库系统概念 第6版

    机械工业出版社

    本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



    打赏

    取消

    感谢您的支持,我会继续努力的!

    扫码支持
    扫码打赏,您说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    分享从这里开始,精彩与您同在

    评论

    管理员已关闭评论功能...