56,677
社区成员
发帖
与我相关
我的任务
分享
DROP TRIGGER IF EXISTS t1_update;
CREATE TRIGGER t1_update BEFORE UPDATE ON `t1`
FOR EACH ROW
BEGIN
IF NEW.state !=2 AND OLD.state !=1 THEN
SET NEW.state = 3;
END IF;
END;
update t1 set `name`="name2" where `name`="name1"
的时候期望 state 的值自动为3.CREATE TRIGGER t1_update BEFORE UPDATE ON `t1`
FOR EACH ROW
BEGIN
IF (NEW.state =OLD.state or OLD.state = 2) AND OLD.state !=1 THEN
SET NEW.state = 3;
END IF;
END;
实际上,你可以按照你自己的实际需要进行修改 ,上面的 NEW.state =OLD.state,表示在update语句中,并没有去修改 state字段,你可以按照这个思路自己修改一下