J'ai une base de données MySQL utilisant phpmyadmin. J'ai une table composée d'un ID (entier), d'un état (entier) et d'une date (horodatage).
Par exemple:
------------------------------------------- ID | Status | Date ------------------------------------------- 1 | 1 | 2019-05-10 00:00:00 2 | 1 | 2019-05-11 00:00:00 -------------------------------------------
Je souhaite modifier la valeur de l'état 1 en 2 lorsque SYSDATE atteint l'enregistrement de date. Comment puis-je faire cela?
Merci :)
4 Réponses :
Essayez cette option:
UPDATE yourTable SET Status = 2 WHERE SYSDATE() >= Date AND Status = 1;
Cela suppose que votre colonne Date ne stocke en fait que des dates. S'il stocke des horodatages et que vous ne souhaitez marquer que lorsque l'horodatage actuel dépasse la colonne Date , utilisez à la place SYSDATE () :
UPDATE yourTable SET Status = 2 WHERE CURDATE() >= Date AND Status = 1;
Vous pouvez utiliser
update my_table set statys = 2 where WHERE CURDATE() >= FROM_UNIXTIME(Date) AND Status = 1;
Vous pouvez:
ou
Et paramétrez-les pour qu'ils s'exécutent, par exemple pour tous les jours.
Essayez ceci
Update tablename SET Status = 2 Where Date >= NOW() AND Status = 1;
OU
Update tablename SET Status = 2 Where CURDATE() >= Date AND Status = 1;