如何避免带有时间戳的唯一ID的重复

时间:2014-09-03 13:25:41

标签: sql

嗨,我有一种情况,比如我将一个唯一值与主键一起插入数据库 通过在java代码中生成。此唯一标识符包含时间戳Ex:' BatchID16Jul1411111111'。它被扩展到毫秒。现在,如果两个用户同时命中,则会生成相同的唯一ID。

有没有办法让这个时间夯实独特,即使它同时被调用。

是否可以通过从DB获取自动增量编号。

任何人都可以建议我解决这种情况。

提前致谢

马赫什

1 个答案:

答案 0 :(得分:0)

是的,可以从数据库中获取自动递增的数字。确切的语法取决于数据库。这些通常使用以下三种方法之一:

  • auto-increment声明中的create table声明;
  • identity声明中的create table声明;或者,
  • 指定为主键列的默认值的序列。

但请注意,自动递增的数字没有任何意义。因此,您需要一个单独的列'BatchId'和日期时间。