Вот мой желаемый порядок транзакций:
- User1 выбрать поле, выполнить операцию, обновить с новым значением.
- User2 выбрать поле, выполнить операцию, обновить с новым значением.
- User3 выбрать поле, выполнить операцию, обновить с новым значением.
Из того, что я понимаю , первый выбор выполняет только блокировку записи, а второй выполняет блокировку чтения и записи.
И то, и другое кажется полезным, но в первом случае, какое значение будет читать User2? Начальное значение до обновления User1 или значение ПОСЛЕ обновления User1 (что я и хочу)?
Так что я запутался, должен ли я использовать SELECT ... ДЛЯ ОБНОВЛЕНИЯ или SELECT ... LOCK IN SHARE MODE?