Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

atualizar o valor da coluna após a inserção e o período de tempo


Esta provavelmente não é a abordagem correta. Quero dizer, você pode configurar um evento que seja processado para cada linha, mas isso pode adicionar muita carga ao seu banco de dados.

Em vez disso, se status está apenas dizendo que a linha tem menos ou mais de um dia, coloque uma data de criação na tabela e use uma visão:
create view v_table as
     select t.*, (creation_date >= date_sub(now(), interval 1 day) as status
     from table t;

Se status pode ser alterado por outros meios, então chame-o de algo como _status e fazer:
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;