自动更改 MySQl 列的每个值

Automatically Changing Each Value of a MySQl column

我有一列包含许多整数值。我如何编写代码以便每 24 小时每个值都减 1 直到它达到 0?到目前为止,我已经理解了每 24 小时重复一次事件的代码,但找不到从每个单独值中减去一个的方法。谢谢!

SET GLOBAL event_scheduler = ON;
SELECT @@event_scheduler; 
CREATE EVENT e_store_ts 
ON SCHEDULE
  EVERY 24 HOURS  
DO
  UPDATE users set value= '1';

您可以使用 case 语句仅更新大于零的值

SET GLOBAL event_scheduler = ON;
SELECT @@event_scheduler; 
CREATE EVENT e_store_ts 
ON SCHEDULE
  EVERY 24 HOURS   
DO
  UPDATE users SET `value`= CASE WHEN `value` > 0 THEN `value` - 1 ELSE `value` END;