日期:2014-05-20  浏览次数:20516 次

请问如何生成9位数的唯一标记呢?
如生成:812907976,812452980,012683981
还有
2E7D0EEBE3CFC59,0F494510A9FEFF4
类似这样的


时间   退水   种类   内容   金额   结果  
012683981     01-13   18:25:02   aih40000   12.5     特别号   第6期     特别号   09     @   42

:   2E7D0EEBE3CFC59     10.00   -8.75  
812452980     01-13   18:35:00   aih40000   2.5     特别号:单双   第6期     单     @   1.89

:   0F494510A9FEFF4     10.00   -9.75  
812907976     01-13   18:35:00   aih40000   1.75     正码1-6:单双   第6期     正码一   单     @   1.88

:   304160C126AFEA3     10.00   -9.83  
            3   30.00   -28.33    
 
    代理商   笔数   金额   结果  
        ih47270   3   30.00   -28.33  


------解决方案--------------------
9位数不够长,所以不像32位的GUID那样理论上不可能重复。
所以此种情况,你必须借助数据库,或者说是临时存放数据的东西,用于存放已生成的ID。
生成新的ID后,先到数据库中查询是否重复,如果是,重新生成,直到不重复,最后把新生成的ID放进去。
当然,你如果觉得9位数也基本不容易重复,那不检测也可以,不过后患就大了,说不准。