用户在两个浏览器选项卡中打开一个屏幕,并在几毫秒内按下更新按钮

时间:2017-03-08 13:14:13

标签: postgresql transactions database-deadlocks

我遇到了一个问题。任何帮助将不胜感激。

我使用PostgreSQL作为后端。

问题是:用户在两个标签页中打开一个屏幕,然后在一秒钟内按下更新按钮。

示例 - 表字段 - id - is_posted

我在表上有一个标志,我将其设置为true - is_posted = true,并且在将此标志设置为true后,我有一个触发器,在其他表中插入少量记录。如果is_posted = true,那么我不允许用户再次更新该记录。

如果用户点击了“更新”。按钮在一个选项卡中,并在1 - 2秒后点击“更新”#39;在其他选项卡上的按钮然后我得到更新的值并轻松地抛出验证消息"记录已经更新"。

但是如果用户遵循相同的过程但是在几毫秒内,那么我没有得到更新的数据和记录更新两次。它正在其他表中创建多条记录,导致产生错误的数据。

请建议。

谢谢,

0 个答案:

没有答案