sql >> Database teknologi >  >> RDS >> Mysql

opdatere kolonneværdi efter indsættelse og tidsperiode

Dette er sandsynligvis ikke den rigtige tilgang. Jeg mener, du kan konfigurere en begivenhed, der bliver behandlet for hver række, men det kan tilføje en masse belastning til din database.

I stedet, hvis status siger blot, at rækken er mindre eller mere end én dag gammel, indsæt en oprettelsesdato i tabellen og brug en visning:

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

Hvis status kan ændres på andre måder, så kald det noget som _status og gør:

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;



  1. Forhindrer server-side scripting, XSS

  2. Henter data fra to tabeller første tabel tekstdata anden tabel mediebilleder. billederne fejler

  3. MySQL 5.5 partitionstabel fra A-Z

  4. SQL Express til produktion?