2017-09-25 82 views
2

我有一个包含大量整数值的列。我怎样编码它,使每个值每减少二十四小时直到它达到0?到目前为止,我已经理解了每24小时重复一次事件的代码,但是找不到从每个单独值中减去一个事件的方法。谢谢!自动更改MySQl列的每个值

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

回答

0

你可以用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;