关于我们使用 SELECT FOR UPDATE
的目的,我有一个问题。它到底是做什么的?
我有两个表,需要从其中一个表中选择行并更新相同的行。
例如:
Select 查询
SELECT * from t1 WHERE city_id=2 for update
更新查询
UPDATE t1 SET final_balance = final_balance - 100 WHERE city_id ='2'
我的问题是 - 这是否真的会锁定读取操作直到我的更新完成,或者它具体处理的是什么?
我的想法是,在我的更新完成之前,任何人都无法从这些行中读取/更新。
select
语句而不带有for update
)。 - user330315