在java应用程序中生成12位唯一编号

时间:2013-02-15 20:13:51

标签: java mysql

我要在LDAP中存储12位唯一ID的用户配置文件,所以想到使用 数据库通过创建序列并使用Java代码(seq.nextVal())访问它。 但我们公司只支持mysql,但mysql不支持序列。

使用mysql是否可以解决这个问题。

1 个答案:

答案 0 :(得分:1)

MySQL支持INTEGER数据类型的自动递增。请参阅

http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

如果您想创建字段UNIQUE,则可以将其设置为PRIMARY KEY

例如,您可以使用ID BIGINT PRIMARY KEY AUTO INCREMENT作为字段。


如果您在Java应用程序中需要此值,则可以:

  • 在MySQL数据库中生成id

  • 在Java应用程序中获取值

  • 使用该值将其保存在LDAP

作为测试,这将确保您的所有元素都有12位数(基于您的上一条评论):

CREATE TABLE uniqueids(id BIGINT PRIMARY KEY AUTO_INCREMENT);

INSERT INTO uniqueids VALUES(100000000000);

INSERT INTO uniqueids VALUES(null);

SELECT *
FROM uniqueids

在MySQL 5.0上测试

SQL小提琴:http://www.sqlfiddle.com/#!2/8c508f/1