2012-12-18 98 views
0

朋友我創建了一個mysql表來獲取我的網站的頁面訪問。 我的表是這樣的如何從mysql表中存儲日常記錄到另一個?

statistics_table(stat_id,visited_page,visit_count) 

凡VISIT_COUNT由一個爲每個visit.This遞增完美的作品。但是現在我需要將所有統計信息保存在每天不同的表格中,以實現我的流量監控目的。

喜歡如下

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作業每天更新它。

有沒有什麼辦法讓這項工作而不是我的方式?我的意思是簡單/更好的方式來做到這一點。感謝您的任何建議。

回答

0

您可以使用下面的查詢語句插入DATAS到另一臺,

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

這樣你可以試試,

這可能幫助你。

+0

感謝reply.Yes這就是我現在做的事情。我正在尋找的是,如果有其他選擇,而不是這個特殊功能或任何複製日常記錄的快捷方式。 – vinu

+0

通過使用這個,你可以得到輸出......對..?可能是這樣做的最好方法..讓我們試着看看輸出:) – Basith

+0

@vinu => r你檢查這個..?你有沒有得到輸出? – Basith

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); 
+0

謝謝你的回答,這是有道理的,我會嘗試它,讓你知道感謝朋友 – vinu

+0

快速question.I已經嘗試過,但MySQL無法識別'每一天'關鍵字我錯過了什麼? – vinu

+0

只是一個說明,「每一天」應該是「每1天」 – Ohgodwhy

相關問題