0

友人 私のウェブサイトのページ訪問を取得するために mysql テーブルを作成しました。私のテーブルはこんな感じです

statistics_table(stat_id,visited_page,visit_count)

visit_count は、訪問ごとに 1 ずつ増加します。これは完璧に機能します。しかし今、トラフィック監視の目的で、すべての統計を毎日異なるテーブルに保存する必要があります。

次のように

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

statistics_table は毎日その値をインクリメントしているため、使用して 1 日あたりの訪問数を取得できます

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

現時点では、同じテーブルを別のテーブルで使用しており、schema+datecron ジョブを使用して毎日更新しています。

私のやり方ではなく、これを機能させる方法はありますか? これを行うための簡単/より良い方法を意味します。アドバイスをありがとう。

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 に答える