Друзья. Я создал таблицу mysql для получения посещений страниц для моего сайта. Мой стол подобен этому
statistics_table(stat_id,visited_page,visit_count)
Где visit_count увеличивается на один за каждый визит. Это работает отлично. Но теперь мне нужно каждый день сохранять статистику в другой таблице каждый день в целях мониторинга трафика.
как следует
2012/12/15-->page1-->100 visits 2012/12/16-->page1-->180 visits 2012/12/17-->page1-->200 visits
потому что statistics_table увеличивает его значение каждый день, поэтому я могу получить, сколько посещений в день используется
(2012/12/16-->page1-->visits)-(2012/12/15-->page1-->visits)//80 visits
В настоящий момент я использую другую таблицу с такой же schema+date
и каждый schema+date
обновляю ее с помощью задания cron.
Есть ли способ сделать эту работу, а не мой путь? Я имею в виду легкий / лучший способ сделать это. Спасибо за любой совет.
Вы можете использовать следующую инструкцию запроса для вставки данных в другую таблицу,
INSERT INTO Table_name(stat_id,visited_page,visit_count) SELECT stat_id,visited,visit_count_page FROM Exist_Tablename WHERE <condition>; DELETE FROM Exist_Tablename WHERE <condition>;
Как вы можете попробовать,
Это может помочь вам.
Я согласен с вышеприведенным ответом, но я рекомендую вам использовать события MySQL. См. CREATE EVENT в руководстве по MySQL для получения более подробной информации.
Итак, ваше мероприятие должно быть:
CREATE EVENT myevent ON SCHEDULE Every Day DO INSERT INTO Table_name(stat_id,visited_page,visit_count) SELECT stat_id,visited,visit_count_page FROM Exist_Tablename WHERE date_field = DATE_SUB(CURDATE(), INTERVAL 1 DAY); DELETE FROM Exist_Tablename WHERE date_field = DATE_SUB(CURDATE(), INTERVAL 1 DAY);