Mysql
 sql >> база данни >  >> RDS >> Mysql

Изтриване на записи, по-стари от месец/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 да се справи вместо вас.

Ако имате контрол върху структурата на базата данни, ще бъде много по-ефективно да съхранявате датата в поле DATETIME, вместо да извиквате STR_TO_DATE на всеки ред на базата данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Посоченият ключ беше твърде дълъг; максималната дължина на ключа е 1000 байта

  2. PHP - прост вложен неподреден списък (UL) масив

  3. Надстройте MySQL до MariaDB 10 (Част 1 – Инсталирайте MariaDB 5.5)

  4. Свързването с DB с PHP клас не работи при опит за извличане на резултати

  5. как да се покаже резултатът от заявката