Можно ли обновить значение ячейки только до определенного максимального значения? - PullRequest
1 голос
/ 03 февраля 2012

Можно ли обновить значение ячейки только до определенного максимального значения?Вот запрос:

UPDATE table_1 SET premium_photos = premium_photos + 2 WHERE number = '1234'

Я хочу ограничить значение premium_photos (tinyint) максимальным значением 4. Возможно ли это?Например, если premium_photos текущее значение равно 2, а запрос + 3, то после этого значения запроса будет 4.

Ответы [ 2 ]

2 голосов
/ 03 февраля 2012

попробуй

UPDATE table_1 SET 
premium_photos = (CASE WHEN (premium_photos + 2) > 4 THEN 4 ELSE (premium_photos + 2) END) 
WHERE number = '1234'
1 голос
/ 03 февраля 2012

Вы также можете использовать IF функцию

UPDATE table_1 SET
   premium_photos = IF(premium_photos+2>4, 4, premium_photos+2)
WHERE number = '1234'

IF () документация по функциям

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...