UPDATE tbl SET counts=counts-1 ...

最佳答案

如果 count 是您要更新的唯一列(或者,您没有在 where 子句中指定其他条件),那么您可以在 where 子句中执行此操作

UPDATE [Table] SET counts = counts - 1 WHERE counts > 0;

但是,如果您要更新同一查询中的其他列,这将不起作用。但你有选择
UPDATE [Table] SET counts = MAX(counts - 1, 0);

或者
UPDATE [Table] SET counts = CASE WHEN counts > 0 THEN counts - 1 ELSE 0 END;

关于mysql - 如何在 MySQL 中执行此操作 : if field value > 0 then minus one, 否则让它成为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2312126/

10-12 07:07