1
2
没有切实可行的办法做到这一点。 锁定表或使用事务是不谨慎的,因为应用程序必须等待额外的用户输入。这意味着有信息的票之间会有空隙。对客户来说,这是一个愚蠢的要求。你的经理应该做得更好,解释为什么事后才拿到车票号码才是最好的选择(比赛条件):
|
2
3
有一个问题:当用户1启动一个票证时,他得到了号码234,然后用户2启动一个票证并得到号码235,但是当用户1取消他的票证时,号码234被跳过 好的,您可以在保存之前再次检查,但是您有一个问题,即在票证开头显示的号码可能不是最终号码。。。 p、 s:我还没有看到任何一个售票系统在创建新的车票时显示最终的车票号码。。。 |
3
0
不跳过票证号码的要求使我认为票证号码基本上是生成的票证必须包含的有效值的范围。如果是这样的话,我建议将记录的PK与票号分开,并有一个单独的票证预订表,该表本质上对带有时间戳的票证号设置一个锁。空白记录在他们第一次到达时被插入并绑定到预订,当他们完成时被锁定,或者在超时期限到期后进入废弃状态,并且票证号被将来的请求提取。 希望有帮助。 |
4
-1
你可以这样做 Hi-Lo Algorithm 尽管这会否定第二个关键点,除非使用新列存储HiLo
否则,您就可以处理未完成的票据,或者创建一个cron作业来清除未完成的票据。
不过,这确实在大规模上起作用,尽管代码有问题。 |
tggtsed · PostgreSQL从平均值中排除值 1 年前 |
Dawid · 为什么我不能在子查询中使用表别名? 2 年前 |
CraZyCoDer · 在PostgreSQL中锁定潜在事务 2 年前 |
ranebec · 计数时如何返回0而不是null? 2 年前 |
Flo · 分组依据中的SQL大小写 2 年前 |