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

Как да актуализирате АВТОМАТИЧНО MySQL след изтичане на полето за времеви отпечатък

Използването може да се използва за това

  1. Mysql събития (IMHO най-добрият кандидат)
  2. cron задание или Windows Task Scheduler (ако сте на платформа Windows)

Ако изберете опция 1, трябва да създадете събитие

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

Използвайте SHOW PROCESSLIST за да проверите дали планировчикът на събития е активиран. Ако е ON трябва да видите процес "Daemon" от потребител "event_scheduler". Използвайте SET GLOBAL event_scheduler = ON; за да активирате планировчика, ако в момента не е активиран. Повече за конфигурирането на планировчика на събития тук .

Ако искате да видите събития, които имате във вашата схема

SHOW EVENTS;

АКТУАЛИЗИРАНЕ Вашето изявление за актуализиране трябва да изглежда така

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

Ето SQLPiddle демонстрация




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Codeigniter ActiveRecord:присъединяване обратно

  2. Mysql - свържете се с отдалечен сървър, използвайки IP адрес

  3. Как да открием UTF-8 символи в колона, кодирана с Latin1 - MySQL

  4. АКТУАЛИЗИРАНЕ, ако съществува друго INSERT в SQL

  5. Искате номер на ред в група колони в МОЯТА SQL?