2012-07-30 71 views
3

我在我的数据库中有一个字段,我不想超过100.有没有在查询中我可以添加以确保它没有?更新mysql最大值

我通常最终会做这样的:

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

是否像这样的东西存在吗?

回答

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

或:

UPDATE table 
    SET field = LEAST(field + $x, 100) ; 
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