L'écriture est atomique mais un incrément nécessite également une lecture. La question est donc la suivante :êtes-vous sûr que la lecture est sûre, en d'autres termes, êtes-vous sûr qu'un autre thread effectuant l'incrémentation ne se retrouvera pas avec la même valeur à incrémenter ? J'ai des doutes. La façon 100 % correcte de procéder serait.
-- 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...