2

我有一列包含许多整数值。我如何对其进行编码,以便每 24 小时将每个值减一,直到达到 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';
4

1 回答 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;
于 2017-09-25T04:23:23.453 回答