【发布时间】:2020-03-16 17:01:45
【问题描述】:
从这里: https://stackoverflow.com/a/27868682/10894456
SELECT ... FOR UPDATE 将通过写入锁定记录(独占) 锁定直到事务完成(提交或回滚)。
选择一条记录并确保在您更新之前它不会被修改 它,你可以开始一个事务,使用 SELECT 选择记录... FOR UPDATE,做一些快速处理,更新记录,然后提交 (或回滚)事务。
这里 https://stackoverflow.com/a/5411366/10894456
注意,事务之外的 FOR UPDATE 是没有意义的
那么既然没有事务的 INSERT FOR UPDATE 是没有意义的并且事务本身使用锁,那么 INSERT FOR UPDATE 的用例是什么? 我唯一的猜测: SELECT ... FOR UPDATE 仅在事务具有低隔离级别(如 read_uncommit)时才有意义,但我不确定,请帮助我
【问题讨论】:
标签: mysql transactions locking select-for-update