Записването е атомарно, но увеличение също изисква четене. Така че въпросът е:Сигурни ли сте, че четенето е безопасно, с други думи, сигурни ли сте, че друга нишка, извършваща увеличение, няма да завърши със същата стойност, която трябва да бъде увеличена? имам съмнения. 100% правилният начин да направите това би бил.
-- begin transaction here
select counter from myCounters where counter_id = 1 FOR UPDATE;
-- now the row is locked and nobody can read or modify its values
update myCounters set counter = ? where id = 1;
-- set ? to counter + 1 programmatically
commit; -- and unlock...