लेखन परमाणु है लेकिन वृद्धि के लिए भी पढ़ने की आवश्यकता होती है। तो सवाल यह है:क्या आप सुनिश्चित हैं कि पढ़ना सुरक्षित है, दूसरे शब्दों में, क्या आप सुनिश्चित हैं कि वेतन वृद्धि करने वाला एक और धागा उसी मूल्य के साथ समाप्त नहीं होगा जिसे बढ़ाया जाना है? मुझे संदेह है। ऐसा करने का 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...