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

Jak usunąć rekord MySQL po określonym czasie?

Możesz spróbować użyć tego warunku:

WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY)

Aby cały skrypt SQL wyglądał tak:

CREATE EVENT delete_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
ON COMPLETION PRESERVE

DO BEGIN
      DELETE messages WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY);
END;

Jednak u Ciebie rozwiązałbym postawiony problem prostym skryptem cron. Powody, dla których warto to zrobić, są proste:łatwiej jest utrzymać kod, bez brzydkich obejść SQL, płynnie integruje się z Twoim systemem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dane open source rosną:wybór MySQL, NoSQL lub obu

  2. Zmienić domyślny zestaw znaków MySQL na UTF-8 w my.cnf?

  3. Szczegółowe spojrzenie na indeksowanie baz danych

  4. Uzyskiwanie pierwszego dnia tygodnia w MySql za pomocą Week No

  5. Jak dodać ograniczenie not null do istniejącej kolumny w MySQL?