如何处理并发数据库检查和创建?

问题描述

例如,我得到了表and

friendship

一个用户可以发送朋友请求,并且将创建状态为 _________________________________ |id| user1_id | user2_id | status | ''''''''''''''''''''''''''''''''''' 的行,其他用户可以接受该请求,并且将创建状态为request的另一行,并且将更新前一行的状态为{{ 1}}。

当一个用户发送请求时,请检查是否存在对该用户的反向好友请求,因此,如果有-创建了友谊,则没有-创建了请求。

但是可能是请求将在检查后创建,因此会有两个请求和无效状态。

因此,最简单但最慢的路径是在检查和创建过程中使用整个表锁定的事务。

还有没有整个表锁定的其他路径吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...