Пусть t
- таблица mysql, а n
- целочисленный столбец в ней. Мне было бы интересно, если следующий запрос может быть изменен, так что выражение n - 10
вычисляется только один раз.пользовательские переменные в операторе обновления mysql
UPDATE t SET n = if(n - 10 < 1, 1, n - 10) WHERE n = 5;
Запрос не имеет смысла, я знаю, но мне нужно использовать один и тот же шаблон в реальных приложениях, где ценности 10
и 5
бы PHP переменные.
Что вы имеете в виду вычисляется только один раз точно? – JohnFx
Почему вас это волнует. Это будет в миллионы раз быстрее, чем собственно запись результата в БД. –
Ну, теперь он вычисляется дважды (для каждого случая в if). Я хочу, чтобы выражение n-10 было только один раз - при назначении переменной пользователя следующим образом: @tmp: = n - 10. Но я не знаю точного синтаксиса. – clime