2012-12-14 7 views
10

毎晩午後11時に実行されるストアドプロシージャを作成することは可能ですか?過去6か月間レコードが変更されている場合はテーブルをチェックインしてください。表。これは、外部言語を使用せずに自動的に実行する必要があります。mysqlの自動呼び出しクエリ

答えて

14
CREATE EVENT IF NOT EXISTS `my_old_data_cleaner_event` 
ON SCHEDULE EVERY 23 DAY_HOUR 
COMMENT 'Clean up Service Start at 11:00PM daily!' 
DO DELETE FROM my_table WHERE created_date < (NOW() - INTERVAL 1 MONTH); 

またはストアドプロシージャのために。

CREATE EVENT IF NOT EXISTS `my_old_data_cleaner_event` 
ON SCHEDULE EVERY 23 DAY_HOUR 
DO CALL my_sp_cleanup_old_data(); 
+0

ありがとうございます....私たちはどのように外部の言語からの呼び出しをせずにこのクエリを実行すると言うことができますか? –

+0

MySQLでイベントを作成すると、自動的にritが実行されます。ありがとう –

0

CREATE EVENT e_daily 
    ON SCHEDULE 
    EVERY 1 DAY 
DO 
    BEGIN 
    DELETE FROM tableA WHERE DATE(`yourtimestamp`) <(CURDATE() - INTERVAL 6 MONTHS); 
    END 
0

の下にあなたがまた使用して、その後

など、単にセットアップのcronエントリをPHPにはPython、Perlであなたのデータを処理するスクリプトを書くことができるようにイベントを作成します。 crontab -eと、次の行を追加します。指定しない場合

0 23 * * * /path/to/my/script.pl 2>&1 >/dev/null 

2>&1 >/dev/null実行結果とともにメールが届きます。

関連する問題