Junior — Middle
Milyen esetekben használják az SQL-ben a SELECT FOR UPDATE parancsot, és milyen célokra szolgál?
sobes.tech MI
Válasz az MI-től
Команда SELECT FOR UPDATE используется в SQL для блокировки выбранных строк таблицы на время транзакции. Это предотвращает одновременное изменение этих строк другими транзакциями, обеспечивая целостность данных при конкурентном доступе.
Основные случаи использования:
- Когда нужно прочитать данные и затем обновить их, гарантируя, что никто другой не изменит эти данные между чтением и обновлением.
- В сценариях, где важна последовательность операций и предотвращение конфликтов при параллельной работе с одними и теми же записями.
Пример:
BEGIN;
SELECT * FROM accounts WHERE account_id = 123 FOR UPDATE;
-- здесь можно безопасно обновлять выбранную запись
UPDATE accounts SET balance = balance - 100 WHERE account_id = 123;
COMMIT;
В этом примере выбранная запись блокируется до завершения транзакции, чтобы избежать гонок при обновлении баланса.