我知道 select_for_update 可以锁定正在被查询的记录,如果有多个并发用户。但是它是否也影响了查询记录的评估。
例如,如果用户A和用户B同时基于单个变量“Available”(布尔值)查询“Jobs”表。 两个用户都想访问可用工作的记录(其中 Available = True)。
用户A先排队并且他正在访问的记录现在已经被用户B锁定。
如果用户A将所有记录更改为False,用户B是否获取不到任何记录?还是他得到与用户A相同的记录,但可用性为False?
另外,select_for_update() 是否适用于 MySQL?或者对于并发查询,是否有不同的解决方案?