sql >> Base de Datos >  >> RDS >> Mysql

actualizar el valor de la columna después de insertar y el período de tiempo

Este probablemente no sea el enfoque correcto. Quiero decir, podría configurar un evento que se procese para cada fila, pero eso podría agregar mucha carga a su base de datos.

En cambio, si status simplemente dice que la fila tiene menos o más de un día de antigüedad, coloque una fecha de creación en la tabla y use una vista:

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

Si status se puede cambiar por otros medios, luego llámelo algo como _status y hacer:

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;