Mysql
 sql >> Base de données >  >> RDS >> Mysql

mettre à jour la valeur de la colonne après l'insertion et la période de temps

Ce n'est probablement pas la bonne approche. Je veux dire, vous pouvez configurer un événement qui est traité pour chaque ligne, mais cela pourrait ajouter beaucoup de charge à votre base de données.

Au lieu de cela, si status indique simplement que la ligne date de moins ou de plus d'un jour, mettez une date de création dans le tableau et utilisez une vue :

create view v_table as
     select t.*, (creation_date >= date_sub(now(), interval 1 day) as status
     from table t;

Si status peut être modifié par d'autres moyens, alors appelez-le quelque chose comme _status et faites :

create view v_table as
     select t.*,
            (case when creation_date >= date_sub(now(), interval 1 day then 1 else _status end) as status
     from table t;