sql >> Databáze >  >> RDS >> Mysql

Smazat záznamy starší než 1 rok

K tomu potřebujete 2 kroky. Nejprve potřebujete metodu, která bude mít jako parametr datum, kdy chcete zprávy smazat, a nepotřebujete @Query anotace vůbec.

Takže ve vašem úložišti musíte mít něco jako

    @Modifying
    public void deleteByCreatedAtBefore(Date expiryDate);

Nyní ve vaší metodě služby vypočítáte Datum a předáte jej takto

    public void performTweetCleanup(){
       //calculate date
       Calendar cal = Calendar.getInstance();
       Date today = cal.getTime();
       cal.add(Calendar.YEAR, -1);
       Date previousYear = cal.getTime();

       //call the method
       MyTweeterRepository.deleteByCreatedAtBefore(previousYear);
     }


  1. Úlohy hybridní databáze OLTP/Analytics:Replikace dat MySQL do ClickHouse

  2. PHP MySQL mysql_fetch_assoc s klíči pole odlišenými označením 'as'

  3. MyBatis RowBounds neomezuje výsledky dotazů

  4. Povolit hodnotu null v jedinečném sloupci