Как правильно зафиксировать последнее значение (в конце дня) в БД?

На кроне висит скрипт, который работает каждые 30 сек. Скрипт просто изменяет значения в базе, мне нужно в конце дня самое последнее значение зафиксировать (записать в столбец, специально для этого выделенный). Как правильнее всего это сделать?

Самое первое, что приходит в голову: повесить в скрипте условие:
если время >23.58 И время меньше <00.00,
 то запускаем функцию
Но мне такой подход почему-то не нравится. Возможно ли это сделать как-то по-другому (возможно с триггерными функциями в mysql)?
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 2
lidacriss
@lidacriss
wtf
может проще всегда писать во вторую специальную таблицу, но перезаписывать значение сегодняшнее

INSERT INTO table_name (`column1`, `column2`, `column3`, `date`)
VALUES ('value1', 'value2', 'value3', CURDATE())
ON DUPLICATE KEY UPDATE 
`column1`=VALUES(`column1`), 
`column2`=VALUES(`column2`), 
`column3`=VALUES(`column3`);


В таком таблице колонка с датой должны быть уникальна
Таким запросом должно писаться только 1 значение по каждому дню
только оно будет постоянно перезаписываться и актуальным будет только последнее значение за каждый день
Ответ написан
Комментировать
@alexdora
Топ-менеджер
Создать другой скрипт который будет стартовать каждый день в 0 часов и брать последнее значение, записывать и выключатся на сутки
Чем не стоит заниматься - Усложнением красивыми технологиями
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы