7 Мая в 21:03
98 +1
0
Ответы
1
Этот запрос делает следующее:
- Увеличивает значение столбца balance на 100100100 у записи(ей) таблицы accounts, у которых id=2id = 2id=2.
- Если строки с id=2id = 2id=2 нет — изменений не будет (возвращается 0 затронутых строк).
- Операция выполняется в рамках транзакции — изменения станут видимы другим после COMMIT (или отменятся при ROLLBACK).
- Требуется право UPDATE на таблицу accounts.
Полезные дополнения:
- Посмотреть новый баланс сразу (PostgreSQL):
`UPDATE accounts SET balance = balance + 100100100 WHERE id = 222 RETURNING balance;`
- Или выполнить сначала проверку/блокировку строки для атомарности:
`BEGIN; SELECT balance FROM accounts WHERE id = 222 FOR UPDATE; UPDATE accounts SET balance = balance + 100100100 WHERE id = 222; COMMIT;`
- Предостережение: без WHERE можно изменить все строки; для защиты ограничьте условия или используйте проверку (например, чтобы баланс не стал отрицательным).
7 Мая в 21:55
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир