Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Usuwanie rekordów starszych niż miesiąc/30 dni

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);

Następnie możesz usunąć kod PHP do obliczania zakresu dat i pozwolić, aby MySQL zajął się tym za Ciebie.

Jeśli masz kontrolę nad strukturą bazy danych, znacznie wydajniejsze będzie przechowywanie daty w polu DATETIME, niż wywoływanie STR_TO_DATE w każdym wierszu bazy danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy użycie LIMIT 1 przyspiesza zapytanie o klucz podstawowy?

  2. MySQL BLOB a plik do przechowywania małych obrazów PNG?

  3. Jak poprawić zachowanie blokujące INSERT INTO ... SELECT

  4. Zainstaluj serwer WWW w Windows XP z Apache2, PHP5 i MySQL4 – część 1

  5. Zapytanie z dwóch tabel w raporcie