0

朋友们 我创建了一个 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并每天使用 cron 作业对其进行更新。

有没有办法让这项工作而不是我的方式?我的意思是简单/更好的方法来做到这一点。感谢您的任何建议。

4

2 回答 2

2

我同意上面的答案,但我建议您使用 MySQL 事件。有关详细信息,请参阅MySQL 手册中的CREATE EVENT

总之,您的活动应该是:

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);
于 2012-12-18T05:37:35.197 回答
0

您可以使用以下查询语句将数据插入另一个表,

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>;

这样你可以试试

这可能会对您有所帮助。

于 2012-12-18T05:11:52.050 回答