【发布时间】:2013-08-26 06:02:13
【问题描述】:
在我的项目中,我从一个数据库表中生成一个唯一 ID,该 ID 采用属性“serial_key”的最大整数值,并将该数字加 1。它正在生成唯一索引以添加新的记录元组。
但是当我在 Intranet 或 Internet 中的多台 PC 上部署应用程序时,这种机制失败了,它会立即在所有不同的机器上生成相同的唯一 ID。而且我在服务器中有大量数据,因此我必须管理相同的 id 模式,因为它是采用特定格式构建的。请建议如何解决此问题。谢谢。
【问题讨论】:
-
使用mysql UUID(),也可以使用时间戳+ip生成新号码
-
为什么不使用自动递增标识列?
-
实际上是在页面加载和用户填写后生成key然后提交。这就是为什么自动递增不起作用的原因。
-
为什么要生成密钥,让提交返回密钥值,以防您需要它用于其他用途。这样就可以使用自动增量。