这是我想要的交易顺序:
- User1 选择字段,执行操作,用新值更新。
- User2 选择字段,执行操作,用新值更新。
- User3 选择字段,执行操作,用新值更新。
据我了解,第一个选择仅执行写锁定,而第二个选择执行读写锁定。
两者似乎都可用,但在第一种情况下,User2 会读取什么值?User1 更新前的初始值,还是 User1 更新后的值(这是我想要的)?
所以我很困惑,我应该使用 SELECT ... FOR UPDATE 还是 SELECT ... LOCK IN SHARE MODE?