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

1か月/30日より古いレコードの削除

    DELETE FROM archive
    WHERE STR_TO_DATE(SUBSTR(created_date, 0, 25), '%a, %d %b %Y %H:%i:%S') <
          DATE_SUB(NOW(), INTERVAL 30 DAY);
    

    次に、日付範囲を計算するためのPHPコードを削除して、MySQLに処理させることができます。

    データベース構造を制御できる場合は、STR_TO_DATEを呼び出すよりも、DATETIMEフィールドに日付を格納する方がはるかに効率的です。 すべてのデータベース行で。



    1. クライアントごとの複数のデータベースと1つのデータベースの実用性

    2. PHP変数をブートストラップモーダルに渡す

    3. MySqlException:タイムアウトの期限が切れました-接続タイムアウトを増やしても効果はありません

    4. MySQLでシード値を手動で1000に設定する方法