各行にカウンター(整数値のみ)があるテーブルでは、現在の値を取得し、同時にそれを増やす必要があります。
効果的に、私はこれをしたいです:
SELECT counter FROM table WHERE id=123
UPDATE table SET counter=counter+1 WHERE id=123
ただし、2つのクエリがスレッドセーフではないため、これを行うことは明らかにスレッドセーフではありません。(同じ行で)同じことを行う複数のプロセスが同じカウンター値を取得する場合があります。すべて一意にする必要があるので、各プロセスで実際の現在値を取得し、1つ増やします。
行ごとに手動ロックを実装する構成を考えることができますが、これを行う簡単な方法はあるのでしょうか。
おそらくトランザクションを使用していますか?
—
ypercubeᵀᴹ