更新mysql最大值

时间:2012-07-30 22:24:44

标签: mysql max

我的数据库中有一个字段,我不想超过100.我可以添加查询中的某些内容以确保它没有吗?

我通常最终会这样做:

UPDATE table SET field = field + $x
UPDATE table SET field = 100 WHERE field > 100

这样的事情是否存在?

2 个答案:

答案 0 :(得分:4)

UPDATE table 
  SET field = CASE WHEN field + $x <= 100
                     THEN field + $x
                     ELSE 100
              END ;

或:

UPDATE table 
  SET field = LEAST(field + $x, 100) ;

答案 1 :(得分:0)

触发器怎么样?

之类的东西
CREATE TRIGGER tg_limit BEFORE UPDATE ON tbl
    FOR EACH ROW
    BEGIN
        IF NEW.fld > 100 THEN
            SET NEW.fld = 100;
        END IF;
    END