我手动生成userId,即之前的userId + 1。
但如果有两个或更多用户阅读上一个userId并插入新记录。
因此,任何两个或更多用户都有可能使用相同的userId
插入记录答案 0 :(得分:1)
您可以读取以前的用户ID并在同一事务中插入记录。
必须将交易设置为使用正确的Isoltaion level:' Serializable'或者'可重复读取'至少。
遵循这种方法,在事务开始之后和提交之前,userid的增量将会下降。
RDBMS将处理竞争状况。
答案 1 :(得分:0)
您应该以某种方式对您的流程进行排队,并确保在给定时间内只处理一个流程。
最简单的方法是在select previous userid
查询之前锁定某些内容,并在您已经插入记录后释放锁定。
否则这不是一个好习惯。 RDBMS系统有更好的解决方案。在RDBMS的文档中搜索序列,标识或auto_increment。