代码之家  ›  专栏  ›  技术社区  ›  user113476

如何创建唯一的订单号

  •  3
  • user113476  · 技术社区  · 16 年前

    从算法上讲,我如何为SQL Server列生成一个唯一的、可读的、长度合理的订单号。唯一的要求是,它引用了客户号码,可以很容易地在电话中重复。

    比如:

    • 客户编号:XXXXXXXX-XXXXXXXX

    RT65-XXXXXXXX-XXXXXXXX

    如何生成XXXXXXXX?(使用随机字母数字数据,然后检查它是否确实是重复的?)

    生成这些类型的数字时,最好的方法/注意事项是什么?

    你是如何在申请中做到这一点的?

    4 回复  |  直到 16 年前
        1
  •  2
  •   wefwfwefwe    16 年前

    使用标识列并用零填充。

    根据口味改变起始值和增量值。

    (可选)添加CRC校验位。

        2
  •  1
  •   Community Mohan Dere    9 年前

    看看这些帖子,几乎是同一个问题。这两方面的数据都非常好(我以前使用过):

    A good algorithm for generating an order number

    What is the best format for a customer number, order number?

        3
  •  0
  •   Vivek Bernard    16 年前

    这很傻但很直截了当, 怎么样 YYYYMMDDHMMSS

    和它一起使用

    RT65-XXXXXXXX-XXXXXXXX

        4
  •  0
  •   Mirodil    14 年前

    在php中,可以执行以下操作:

    <?php 
    $stamp = strtotime("now");
    $orderid = 'RT65-'.$stamp.'-'.$REMOTE_ADDR; 
    $orderid = str_replace(".", "", $orderid); 
    echo($orderid); 
    ?>