テーブルにbalanceという列があります。値は実際のお金を表します。ある行から別の行に一定量を安全に転送する必要があります。
したがって、値は行1から減算され、行2に加算されます。行1の残高が値よりも低い場合、転送操作全体が失敗し、両方の行のラミンは変更されません。
innodbを使用しているので、トランザクションを使用して選択と更新をラップできますが、何かが失敗した場合に長時間のロールバックのロックを防ぐための効率的なアトミック操作があると便利です。
これらの2つの行を更新する効率的な方法はありますか?