2012-07-30 109 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