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

Jak AUTO aktualizovat MySQL po vypršení platnosti pole časového razítka

Použijte k tomu

  1. Události Mysql (IMHO nejlepší kandidát)
  2. úloha cron nebo Plánovač úloh systému Windows (pokud používáte platformu Windows)

Pokud zvolíte možnost 1, musíte vytvořit událost

CREATE EVENT myevent 
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO 
UPDATE myschema.mytable 
   SET mycol = mycol + 1;

Použijte SHOW PROCESSLIST zkontrolujte, zda je povolen plánovač událostí. Pokud je ON měli byste vidět proces "Daemon" od uživatele "event_scheduler". Použijte SET GLOBAL event_scheduler = ON; povolit plánovač, pokud není aktuálně povolen. Více o konfiguraci plánovače událostí zde .

Pokud chcete vidět události, které máte ve schématu

SHOW EVENTS;

AKTUALIZACE Vaše prohlášení o aktualizaci by mělo vypadat takto

UPDATE online_auctions 
   SET auction_status = 'ENDED' 
 WHERE auction_end_date < NOW();

Zde je SQLFiddle demo




  1. Jak vybrat více než 1 záznam za den?

  2. PostgreSQL - klauzule GROUP BY nebo použít v agregační funkci

  3. Chyba Django MySQL při migraci

  4. RDLC LocalReport Export do Excelu je opravdu pomalý