sql >> データベース >  >> RDS >> Mysql

x分ごとに自動的に削除するにはどうすればよいですか?

    MySQLイベントスケジューラを使用できます。

    前提条件:

    mysqlサーバーでevent_schedulerをオンにする必要があります。

    イベントスケジューラがONであるかどうかを確認します またはOFF

    SELECT @@event_scheduler;

    event_schedulerをONにするには 次のクエリを実行します:

    SET GLOBAL event_scheduler = ON;

    注: MYSQL Serverを再起動した場合 その後、構成ファイルに次のように記述されていない限り、イベントスケジューラのステータスはリセットされます。

    Windowsの場合: my.iniで ファイルはこれを[mysqld]の下に書き込みます セクション

    [mysqld]
    event_scheduler=on
    

    Linuxの場合: my.cnfで ファイル

    [mysqld]
    event_scheduler=on
    

    イベント:

    次のイベントは、tablenameという名前のテーブルからデータを削除します 。

    CREATE 
    EVENT `deleteEvent`
    ON SCHEDULE EVERY 2 MINUTE STARTS '2016-03-23 00:00:00'
    ON COMPLETION NOT PRESERVE
    ENABLE
    DO
    DELETE FROM tablename;
    

    イベントは'2016-03-23 00:00:00'で初めて開始されます その後、イベントは2分間隔でスケジュールされ、テーブルからデータが削除されます。

    Truncateを使用できます DELETEの代わりに 。

    TRUNCATE vs DELETE >



    1. 1つのクエリで2つのテーブルにOracleINSERTを実行

    2. Mysqlトランザクション:コミットとロールバック

    3. テーブル値パラメータをJavaからSQLServerストアドプロシージャに渡す方法は?

    4. Hibernateクエリの使用:コロンはパラメーターとして扱われます/コロンをエスケープします