2012-07-30 3 views
3

내 데이터베이스에 100을 초과하고 싶지 않은 필드가 있습니다. 쿼리에 추가 할 수있는 항목이 있습니까?UPDATE 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