Встречается на собеседованиях • сегодня
Зачем нужно выражение SELECT FOR UPDATE в SQL
SELECT FOR UPDATE используется для блокировки строк в таблице на время транзакции, предотвращая их изменение другими транзакциями. Это полезно для обеспечения согласованности данных при конкурентном доступе.
Пример:
sql
BEGIN;
SELECT * FROM accounts WHERE user_id = 1 FOR UPDATE; -- Блокировка строки
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
COMMIT;Ключевые моменты:
- Блокировка снимается после
COMMITилиROLLBACK. - Если другая транзакция попытается изменить заблокированную строку, она будет ждать снятия блокировки (или завершится с ошибкой, если настроен таймаут).
- Используется в сценариях, где важно избежать состояния гонки (например, финансовые операции).
Альтернативы: SELECT ... LOCK IN SHARE MODE (для чтения без изменения).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы