用pythonflas实现MySQL中的单行锁定

2024-04-28 12:01:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了一个Python Flask应用程序,并在两个不同的web服务器上运行它的两个实例。每次向应用程序发出HTTP请求时,都会创建到MySQL数据库的新连接。在我的应用程序中,有一个科目表,每个科目都有一个整数余额。问题是,我发现,如果一个用户对一个URL路由发出多个请求,而这个请求很快就会从帐户余额中减去,那么最终可能会出现负余额,因为这两个请求是同时执行的。在

基本上,我的问题是,当我对一行的balance列运行查询时,该行将不能被任何其他连接(其中可能有许多连接)访问?我想让表中的所有其他行保持可编辑状态,我只想“锁定”一行,这样用户就不能“双倍花费”他们的余额等等,而不是为了性能而锁定整个表。在

或者我完全错了——对不起,如果我是的话,我对这个很陌生。在

当我第一次开始编写这个应用程序的时候,我确实问了一个关于如何正确地完成这个任务的问题,但是它被否决了,现在我陷入了困境。在

我研究过MySQL事务,但是我对它们的理解不太好,我认为我不应该在这里使用它们,或者我错了吗?在

谢谢你!在


Tags: 实例用户服务器web数据库应用程序httpurl