【发布时间】:2015-03-10 16:00:03
【问题描述】:
我的项目使用 ClusterPoint 数据库,我想知道是否可以使用随机分配的 ID 将文档插入到数据库中。
This document seems to specify the "ID" 但如果它已经存在怎么办?有没有更好的方法来生成唯一标识符。
【问题讨论】:
-
为什么需要随机 ID?为什么不使用顺序 ID?
-
如果不是顺序 ID,为什么不是 guid?
-
顺序 ID 在分布式数据库中可能很麻烦,所以我可以使用任何类型的 ID,只要它保证唯一。
-
你总是可以生成一个随机的 id,对数据库进行 fetch 以查看该 id 是否已经存在,如果不存在则插入它。
-
@JamesSpence 这不再使插入操作成为原子操作,因为在我检查时可以插入另一条记录,尽管这种可能性非常低。现在我无论如何都在执行插入,如果返回错误,重新生成 ID 并再次插入。
标签: php database uniqueidentifier clusterpoint