Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara memperbarui MySQL secara OTOMATIS setelah bidang stempel waktu berakhir

Gunakan dapat digunakan untuk itu

  1. Acara MySQL (IMHO kandidat terbaik)
  2. cron job atau Windows Task Scheduler (jika Anda menggunakan platform Windows)

Jika Anda menggunakan opsi 1, Anda perlu membuat acara

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

Gunakan SHOW PROCESSLIST untuk memeriksa apakah penjadwal acara diaktifkan. Jika ON Anda akan melihat proses "Daemon" oleh pengguna "event_scheduler". Gunakan SET GLOBAL event_scheduler = ON; untuk mengaktifkan penjadwal jika saat ini tidak diaktifkan. Selengkapnya tentang mengonfigurasi penjadwal acara di sini .

Jika Anda ingin melihat acara yang Anda miliki di skema Anda

SHOW EVENTS;

PERBARUI Pernyataan pembaruan Anda akan terlihat seperti

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

Ini 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. Hitung baris tabel

  2. Memperbarui tabel database yang didenormalisasi

  3. kaus kaki proxy mysql

  4. Bagaimana cara membuat database multi-penyewa dengan struktur tabel bersama?

  5. Apa arti ikon kolom meja kerja mysql?