尝试创建一个简单的触发器,在表更新后,它会检查计数(InvalidLogins)是否超过4,如果是,则将字段'LockedOut'设置为1.以下是我尝试创建触发器的方法,这是我对MySQL的第一个触发器,我无法让它工作。
CREATE TRIGGER update_user_lockout after update ON members
FOR EACH ROW SET LockedOut = 1 where invalidLogins < 4
MySQL返回的错误是: 错误代码:1064。您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'.LockedOut = 1附近使用正确的语法,其中invalidLogins&lt; 4'在第2行
答案 0 :(得分:2)
delimiter |
CREATE TRIGGER update_user_lockout before update ON members
FOR EACH ROW
IF NEW.invalidLogins < 4 THEN
SET NEW.LockedOut = 1;
END IF;
END
|
delimiter ;
NEW
;
。否则,触发器定义将在第一个;
结束,这太早了before
触发器在更新前更改值