0

我必须将用户配置文件存储在具有 12 位唯一 ID 的 LDAP 中,因此考虑通过创建序列并在 Java 代码(seq.nextVal())中访问它来使用数据库。但是我们公司只支持mysql,mysql不支持sequence。

是否有解决方法来使用 mysql 来实现这一点。

4

1 回答 1

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

于 2013-02-15T20:16:53.520 回答