Dalam tabel di mana setiap baris memiliki penghitung (hanya nilai integer), saya perlu mendapatkan nilai saat ini dan meningkatkannya pada saat yang sama .
Secara efektif, saya ingin melakukan ini:
SELECT counter FROM table WHERE id=123
UPDATE table SET counter=counter+1 WHERE id=123
Tetapi melakukan ini sebagai dua kueri jelas tidak aman: beberapa proses melakukan hal yang sama (pada baris yang sama) mungkin mendapatkan nilai penghitung yang sama. Saya ingin mereka semua menjadi unik, sehingga setiap proses akan mendapatkan nilai aktual saat ini dan meningkatkannya satu per satu.
Saya bisa memikirkan konstruksi di mana saya menerapkan kunci manual per baris, tapi saya ingin tahu apakah ada cara yang lebih mudah untuk melakukan ini?