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

Mysql PHP Cron untuk memperbarui statistik pengguna

MySQL solusi:

Anda memerlukan event MySQL untuk berjalan berdasarkan waktu.

Dan saya sarankan Anda menulis update pernyataan berdasarkan kondisi Anda dan tautkan prosedur yang sama ke penjadwal acara yang ingin Anda jalankan di setiap awal hari.

Anda dapat melakukannya sebagai berikut:.

Contoh :

delimiter //
drop event if exists event_scheduling_sample;

create event if not exists event_scheduling_sample
--  on schedule every 86400 second starts 00:00:00
--  at timestamp( adddate( current_date, 1 ),'00:00:00' )
--  on schedule every 1 day 
    --   starts current_timestamp 
    --   ends current_timestamp + interval '5' day
--  on schedule every 1 day 
    --   starts current_timestamp 
    --   ends timestamp( current_date,'23:59:59' )

  on schedule every 1 day 
     starts timestamp( current_date + 1, '00:00:00' )

  comment 'event scheduling sample'
  do
    call db_name.procedure_name_that_updates_the_user_records();
;
//
delimiter ;

Lihat :MySQL:CREATE EVENT Syntax

Status default Penjadwal Acara adalah DINONAKTIFKAN.
Anda harus mengaktifkannya dengan salah satu pernyataan berikut.

SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = 1;

Saat Penjadwal Acara AKTIF, utas penjadwal acara tercantum dalam output SHOW PROCESSLIST sebagai proses daemon, dan statusnya direpresentasikan seperti yang ditunjukkan di sini:

mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
     Id: 1
   User: root
   Host: localhost
     db: NULL
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 2. row ***************************
     Id: 2
   User: event_scheduler
   Host: localhost
     db: NULL
Command: Daemon
   Time: 3
  State: Waiting for next activation
   Info: NULL
2 rows in set (0.00 sec)

Setelah Penjadwal Acara AKTIF, Anda akan melihatnya berfungsi.

Lihat :Konfigurasi Penjadwal Acara MySQL




  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 GROUP_CONCAT dan bergabung

  2. Peringatan:PDO::__construct():[2002] Tidak ada file atau direktori seperti itu (mencoba terhubung melalui unix:///tmp/mysql.sock) di

  3. cakephp persahabatan antara pengguna Menghubungkan model bersama

  4. Bagaimana cara memperbaiki kesalahan yang disebabkan oleh libmysqlclient.15.dylib tidak dimuat?

  5. grup mysql dengan mengembalikan nilai min dan mendapatkan data baris yang sesuai