UPDATE tbl SET counts=counts-1 ...
Run Code Online (Sandbox Code Playgroud)
如果count是您要更新的唯一列(或者您没有在where子句中指定其他条件),那么您可以在where子句中执行此操作
UPDATE [Table] SET counts = counts - 1 WHERE counts > 0;
Run Code Online (Sandbox Code Playgroud)
但是,如果您要更新同一查询中的其他列,则无效.但你有选择
UPDATE [Table] SET counts = MAX(counts - 1, 0);
Run Code Online (Sandbox Code Playgroud)
要么
UPDATE [Table] SET counts = CASE WHEN counts > 0 THEN counts - 1 ELSE 0 END;
Run Code Online (Sandbox Code Playgroud)