这是一个更合乎逻辑的问题,而不是SQL,但我希望你能够帮助我。
我的数据库中有一个钱包列表,如下所示:
wallet_id SERIAL PRIMARY KEY | balance BIGINT
我收到客户的要求,在数据库中注册钱包,有注册费,有第三方根据wallet_id
确定费用,我不会# 39;不知道他们使用什么逻辑,无法预测费用。但我必须确保客户有足够的余额来注册钱包。我还需要确保他们所有的钱包ID都是连续的。我没有尽可能多地注册客户的目标,如果注册成功与否,我只需要回复每个客户的注册请求以及客户收取的费用是多少。
最重要的是,我得到了多个与数据库通信并尝试注册客户端的进程。所以我的问题是如何同步这些流程才能在我的任务中取得成功?
我想到了一个解决方案,我锁定整个桌子,在交易中注册钱包,确定注册费用,如果余额不足,我会回滚。但我不喜欢锁定整个桌子的想法,我宁愿以某种方式使用临时桌子或其他东西......有什么想法吗?