2012-12-18 3 views
0

친구 내 웹 사이트 방문을위한 mysql 테이블을 만들었습니다. VISIT_COUNT 모든 visit.This 하나에 의해 증가되는 경우 내 표는이mysql 테이블에서 매일 레코드를 저장하는 방법은 무엇입니까?

statistics_table(stat_id,visited_page,visit_count) 

처럼 완벽하게 작동합니다. 하지만 지금은 매일 다른 트래픽 모니터링 목적으로 매일 다른 테이블에 모든 통계를 저장해야합니다.

는 statistics_table 매일 그 값을 증가, 그래서 난 순간

(2012/12/16-->page1-->visits)-(2012/12/15-->page1-->visits)//80 visits 

를 사용하여 하루에 얼마나 많은 방문을 얻을 수 있습니다 내가 같은 schema+date 가진 다른 테이블을 사용하고 있기 때문에

2012/12/15-->page1-->100 visits 
2012/12/16-->page1-->180 visits 
2012/12/17-->page1-->200 visits 

다음과 같은 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>; 

,

이 5 월 당신을 도와줍니다.

+0

감사합니다. 내가 무엇을 찾고 있는지, 어떤 특별한 기능이나 일상적인 기록을 복사하는 지름길이 아닌 다른 대안이 있다면. – vinu

+0

이것을 사용하면 출력을 얻을 수 있습니다 ... 맞습니까? 이것은 최선의 방법 일 수 있습니다 .. 시도하고 출력을보십시오 :) – Basith

+0

@vinu => r u 이것으로 확인 .. ..? u가 출력을 얻었습니까? – Basith

2

위의 대답에 동의하지만 MySQL 이벤트를 사용하는 것이 좋습니다. 자세한 내용은 MySQL 설명서의 CREATE EVENT을 참조하십시오.

요약하면, 이벤트가 있어야한다 : 이것은 내가 무엇을하고있는 reply.Yes에 대한

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

빠른 질문입니다. 이걸 시도했지만 mysql이 'Every Day' 키워드를 찾지 못했습니다. – vinu

+0

'Every Day'는 'Every 1 Day'이어야합니다. – Ohgodwhy

관련 문제