获得一个不相同的编号,不重复 在登记一个人的时候 要给此人发配一个编号 在未提交的时候 数据库不能有数据 而且编号是字符串 不是自动增长列 当编号10001进来的时候 给它发一个编号 当编号10002进来的时候 给它发另一个编号 编号不相同 代码控制 可以查数据库如果10001不插入数据 那么10001这个位置就空下来 数据库不能又重复 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在数据库里面建个sequence,(MSSQLSERVER、DB2、Oracle都支持),初始化之前取得序列号给它。没插入sequence反正增上去了给你空着那个值。 你取得的那个序列号是唯一的,再把它格式化成字符串,前面后面想要加什么都可以的。btw:我经常用 select to_char(sysdate,'yyyyMMddHH24MISS')||to_char(seq_unique_id.nextVal,'000000000') from dual <oracle>来取唯一值,效果不错。 咋样建立一个sequence啊? 没有听过呀 能具体说说不? 谢谢啦 oracle的:create SEQUENCE seq_sms_id increment by 1 start with 1 maxvalue 9999999999 cycle; 没有接触过这些数据库 我接触了SQLSERVER数据库 所以你说用数据库还是不懂哦 哎,我机子上没装sqlserver。但我知道它支持的,你google或百度一下吧~~~ 不好意思,sql server只有自增列,没有sequence对象。搞错了,sorry~~~ sqlserver的话 ID设置为自动增长啊 不用sequence对象的话,可以考虑自己建立一张表,记录当前最大编号,每次使用的时候取最大加1 public String generateData() { Date date = new Date(); String value = date.getTime(); return value; } jdk1.5以后自带一个uuid的类, 全名是java.util.UUID,UUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成,表现出来的形式例如550E8400-E29B-11D4-A716-446655440000,如果一台机器每秒产生10000000个UUID,则可以保证(概率意义上)3240年不重复 代码也很简单 import java.util.UUID; public class TestUUID { public static void main(String[] args) { UUID uuid = UUID.randomUUID(); System.out.println (uuid); } } 长见识了,up。但这个串似乎太长了点。不方便格式化。btw:弱弱的问一句,连续取几个,不知道能不能看出递增的关系。 javaDB 自定编号??? 求教SWT中image处理问题 JPanel上能添加背景图片吗 有关FTP的问题 新手求助!!关于date方面的! 如果把数组中重复的记录删除??? 关于Java编程的多线程问题? 有谁了解java 串口通讯的啊 这段程序为什么编译没通过 求解个数组题,名字前面的空格怎么搞? 多线程同步,在WIN 7下调试始终是一个线程在运行,为何? org.eclipse.swt.widgets.Table 列选中背景色
没插入sequence反正增上去了给你空着那个值。
btw:
我经常用 select to_char(sysdate,'yyyyMMddHH24MISS')||to_char(seq_unique_id.nextVal,'000000000') from dual <oracle>来取唯一值,效果不错。
create SEQUENCE seq_sms_id increment by 1 start with 1 maxvalue 9999999999 cycle;
没有接触过这些数据库 我接触了SQLSERVER数据库 所以你说用数据库还是不懂哦
搞错了,sorry~~~
Date date = new Date();
String value = date.getTime();
return value; }
550E8400-E29B-11D4-A716-446655440000,如果一台机器每秒产生10000000个UUID,则可以保证(概率意义上)3240年不重复
代码也很简单
import java.util.UUID;
public class TestUUID {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println (uuid);
}
}
长见识了,up。
但这个串似乎太长了点。不方便格式化。
btw:弱弱的问一句,连续取几个,不知道能不能看出递增的关系。