我的数据库中有一个字段,我不想超过 100。我可以在查询中添加一些内容以确保它没有吗?
我通常最终会这样做:
UPDATE table SET field = field + $x
UPDATE table SET field = 100 WHERE field > 100
这样的事情存在吗?
UPDATE table
SET field = CASE WHEN field + $x <= 100
THEN field + $x
ELSE 100
END ;
或者:
UPDATE table
SET field = LEAST(field + $x, 100) ;
触发器呢?就像是
CREATE TRIGGER tg_limit BEFORE UPDATE ON tbl
FOR EACH ROW
BEGIN
IF NEW.fld > 100 THEN
SET NEW.fld = 100;
END IF;
END