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

Jak automatycznie zaktualizować MySQL po wygaśnięciu pola znacznika czasu?

Użyj może użyć do tego

  1. Zdarzenia MySQL (IMHO najlepszy kandydat)
  2. zadanie cron lub Harmonogram zadań Windows (jeśli jesteś na platformie Windows)

Jeśli wybierzesz opcję 1, musisz utworzyć wydarzenie

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

Użyj SHOW PROCESSLIST aby sprawdzić, czy harmonogram zdarzeń jest włączony. Jeśli jest ON powinieneś zobaczyć proces „Daemon” użytkownika „event_scheduler”. Użyj SET GLOBAL event_scheduler = ON; aby włączyć harmonogram, jeśli nie jest aktualnie włączony. Więcej informacji o konfigurowaniu harmonogramu zdarzeń tutaj .

Jeśli chcesz zobaczyć zdarzenia, które masz w swoim schemacie

SHOW EVENTS;

AKTUALIZUJ Twoje oświadczenie o aktualizacji powinno wyglądać tak

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

Oto SQLFiddle demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wiele formularzy i jedna strona przetwarzania

  2. Zapisywanie zmian w SlickGrid za pomocą php

  3. Django migrate :nie tworzy tabel

  4. Jak mogę manipulować trafnością wyszukiwania pełnotekstowego MySQL, aby jedno pole było bardziej „wartościowe” niż inne?

  5. Ostrzeżenie:mysqli_connect():(HY000/1045):Odmowa dostępu dla użytkownika 'root'@'localhost' (przy użyciu hasła:NIE)