2016-11-15 9 views
1

Imは私のプロジェクトでSQLとImで現在使用しています。SQL:時間の経過後にフィールド値を削除する

フィールドなどのデータを削除します。それが30日間変更されなかった場合。

私はこのような何かを考えた - イベントログがlastChangeがDATE

あるvarchar型

  • あるDELETE eventLog WHERE date < (lastChange - INTERVAL 30 DAY);

    1. 私はそれを試してみましたが、私はそれが本当に働いていないんだと思います。

      somoneはこれを行うより良い方法はありますか?

      おかげ

  • 答えて

    1

    DELETEは、フィールドから値を削除しません。

    UPDATE tableName 
    SET eventLog = '' 
    WHERE ... 
    

    OR

    UPDATE tableName 
    SET eventLog = NULL 
    WHERE ... 
    

    DELETE

    がテーブルから行全体を削除するために使用されます。 varcharのためにあなたのような何かをしたいです。

    MySQL Query - Records between Today and Last 30 Days

    +0

    ありがとう:

    はまた、過去30日間の一部のためとして、これを参照してください。 eventLogが30日間変更されないたびに、テーブルを更新する必要があるので、私のテーブルが作成された同じスクリプトでこれを使用できますか? – jokey

    +0

    @jokeyあなたが何を意味するか分かりません。 – duncan

    +0

    決して気にしないで、 – jokey

    関連する問題