Q qumingfei Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-26 #1 我们使用的流水号是这样的格式: 9030005 其中 ‘9’是代表2009年; 03代表三月份;0005是序号。 马上就是2010年了,流水号会变成 0010001 ,这样就比2009年的编号还要小了。怎么解决这个问题。
我们使用的流水号是这样的格式: 9030005 其中 ‘9’是代表2009年; 03代表三月份;0005是序号。 马上就是2010年了,流水号会变成 0010001 ,这样就比2009年的编号还要小了。怎么解决这个问题。
D de410 Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-26 #2 数据库中可有限制字段位数,如果没有,就改为10010001开始~~
Z znxia Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-26 #3 原先就没考虑好,修改为A030005表示10年,26个字母够你用26年了。不过还是把原先的更改为09030005比较好。
S shadowpj Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-26 #5 问个流水号问题,你的客户端是几个?如果有10个人读最后一条记录9030005 那么就回产生多个9030006,你是怎么控制的?可以讲讲方法吗?我想请大家讲将经验
Q qumingfei Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-26 #6 产生的时候是 9030005 ,保存的时候再查一下最大编号是多少了之后,再加1。
S shadowpj Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-26 #7 是啊肯定是先select 最大号啊,在加1保存,但是数据库大了后,写入保存那得费点时间那么在select 最大号时会多人取到同一个号。
H host71 Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-26 #8 是什么数据库呀,如果是oracle可以用最大的rowid解决。如果是其他库可以考虑检索前检查是否有小于9的,如果有小于9的那么把等于9的从检索最大编号中去除掉!
O oasiswsc Unregistered / Unconfirmed GUEST, unregistred user! 2009-04-01 #9 能否把流水号加3位,如:9030005改成2009030005,这样到了2010年就是2010XX0001了。
S songrun Unregistered / Unconfirmed GUEST, unregistred user! 2009-04-01 #10 做法一:位数不变,可以考虑把年月后面四位用16进制来编号,或更高进制;可以表示更多的信息;做法二:增加位数