以下代码是否按预期工作(counter_field每次增加1)?
START TRANSACTION;
(other queries here)
UPDATE mytable SET counter_field = counter_field + 1;
(other queries here)
COMMIT;
我是否需要使用行锁定?我应该使用SELECT ... FOR UPDATE
还是SELECT ... LOCK IN SHARE MODE
?
不确定是否重要,但我使用的是具有REPEATABLE READ(默认)隔离级别的InnoDB。
答案 0 :(得分:0)
执行任何UPDATE查询时会有自动行锁定(SELECT ... FOR UPDATE)。