我正在尝试使用 Google App Engine Java,但是缺少唯一约束使事情变得困难。我已经阅读了这篇文章,并且这篇博客提出了一种实现类似方法的方法。我的背景是 MySQL。在没有唯一约束的情况下迁移到数据存储区让我感到不安,因为我以前从来不用担心重复值,并且在插入新值之前检查每个值仍然有出错的余地。
“不,您仍然不能在模式创建期间指定唯一性。”
-- David Underhill谈论 GAE 和唯一约束(发布链接)
你们用什么来实现类似于唯一键或主键的东西?
我听说过一个使用低级 API 创建的抽象数据存储层,它的工作原理类似于常规 RDB,但它不是免费的(但我不记得软件的名称)
我的问题的示意图
sNo = biggest serial_number in the db
sNo++
Insert new entry with sNo as serial_number value //checkpoint
User adds data pertaining to current serial_number
Update entry with data where serial_number is sNo
但是在第 3 行(检查点),我觉得两个用户可能会添加相同的 sNo。这就是阻止我使用 appengine 的原因。