Как увеличить значение поля на 1 через SQL
Очень часто при работе с базой данных приходится увеличивать какое-то поле у какой-то записи на 1. Например, увеличить число просмотров статьи, увеличить число написанных сообщений или комментариев и так далее. В этой статье я покажу самый простой способ увеличения значения поля на 1 через SQL-запрос.
Разумеется, самый очевидный способ - это получить текущее значение поля (1 запрос), увеличить это значение на 1, а после обновить на полученный результат старое значение (ещё 1 запрос). Данный способ очевиден, и он является рабочим, но плохим.
А в SQL есть отличная возможность увеличения значения поля сразу в SQL-запросе:
UPDATE `table_name` SET `field` = `field` + 1
Само собой, можно добавить ещё и WHERE, чтобы увеличивать на 1 не у всех записей. Также вместо +1, можно написать +5, +9, -20, *5 и так далее.
Вот такой простой и быстрый способ изменения текущего значения поля есть в SQL. Поэтому если кто-то вдруг из Вас ещё изменяет значение поля относительно текущего по "старинке", то поменяйте. Пусть и немного, но улучшите свой код.
-
- Михаил Русаков
Комментарии (7):
Статья супер... Как раз мне в будущем пригодится
Ответить
а возможно в этом же запросе узнать значение увеличенной на 1, к примеру, ячейки?
Ответить
Нет, так не получится. Этот запрос на обновление, а Вам же нужна выборка.
Ответить
это я понимаю, но надеялся на то, что есть "секретный" запрос))))))))
Ответить
Здравствуйте, а как обновить сразу несколько строк? К примеру есть таблица в которой 300 строк с полями id, name, value и нужно обновить поле value в 100 строках из них (или больше, или меньше) через цикл - не самая лучшая идея...
Ответить
`field` - зачем тут кавычки?
Ответить
Ни для table_name, ни для field кавычки не нужны. С ними SQL выдаёт ошибку.
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.