Как сделать поле в MySQL, которое автоматически обновляется каждые сутки?

verfaa

Профессор
Регистрация
29 Янв 2007
Сообщения
416
Реакции
49
Всем привет, подскажите, как сделать поле в MySQL, которое автоматически обновляется до определённого значения каждые сутки?
Т.е. например в полночь в 0 часов 00 минут поле автоматически устанавливалось бы в значение 500. На протяжении следующих 24 часов я бы уменьшал и увеличивал из PHP это значение, но в следующие 0 часов 00 минут оно опять устанавливалось в значение 500.

И какую нагрузку на БД будет давать такая операция? Т.е. например, если в таблице 400.000 юзеров и для каждого нужно иметь пару полей с такими значениями. Реально сделать такой функционал и как? Подскажите пожалуйста.
 
вполне можно сделать реализацию на php(или любой скриптовый язык)+cron, а средствами только БД, по-моему, сделать не получится

хотя в новых версиях mysql есть такая штука: Event Scheduler сам не пробовал, но есть доки: Для просмотра ссылки Войди или Зарегистрируйся
 
может в самом запросе реализовать изменение по какой-то формуле в зависимости от времени, например
Код:
SELECT original_value, original_value - HOUR(NOW( )) * original_value/24 AS fixed_original_value
и если original_value это 500 то fixed_original_value будет зависеть от часа когда сапустится запрос, для 10 часов будет 291.6667, округлить можно с ROUND
0ч - 500
10ч - 292
15ч - 188
23ч - 23
можно использовать в insert или update запросах и не надо будет всем сразу юзерам расчитывать, а например активным, так же можно и в php переделать расчёт по формуле.
 
Назад
Сверху