Назад к вопросам
Middle+
14
Для чего нужен SELECT FOR UPDATE?
Компании, где спрашивали
ТБанк
Ответ от нейросети
sobes.tech AI
SELECT FOR UPDATE используется в SQL для блокировки выбранных строк таблицы на время транзакции. Это предотвращает одновременное изменение этих строк другими транзакциями, обеспечивая целостность данных.
Например, если в Go вы работаете с базой данных и хотите обновить запись, сначала можно выполнить:
SELECT * FROM accounts WHERE id = 123 FOR UPDATE;
Это гарантирует, что пока ваша транзакция не завершится, другие транзакции не смогут изменить или заблокировать эти строки.
В Go с использованием database/sql это может выглядеть так:
tx, err := db.Begin()
if err != nil {
// обработка ошибки
}
row := tx.QueryRow("SELECT balance FROM accounts WHERE id = ? FOR UPDATE", 123)
// обработка результата
// обновление данных
err = tx.Commit()