[英]whats wrong with mysql tigger
This is the trigger im trying to add. 这是我尝试添加的触发器。 I keep getting "Updating of NEW row is not allowed in after trigger" 我不断收到“触发器触发后不允许更新NEW行”
DELIMITER $$
DROP TRIGGER IF EXISTS leaderboard.badges_AUPD$$
USE leaderboard$$
CREATE TRIGGER `badges_AUPD` AFTER UPDATE ON `badges` FOR EACH ROW
set new.badgelevel := case when badgepercent < 50 then 0
when badgepercent < 75 then 1
else 2 end;
$$
DELIMITER ;
Your trigger should be before update
since after update you cant set any column of the same table, and also missing the begin
part 您的触发器应该before update
因为before update
之后您无法设置同一表的任何列,并且也缺少begin
部分
DELIMITER $$
DROP TRIGGER IF EXISTS leaderboard.badges_AUPD$$
USE leaderboard$$
CREATE TRIGGER `badges_AUPD` BEFORE UPDATE ON `badges`
FOR EACH ROW
BEGIN
if new.badgepercent < 50 then
set new.badgelevel = 0 ;
elseif new.badgepercent < 75 then
set new.badgelevel = 1 ;
else
set new.badgelevel = 2;
end if;
end;$$
delimiter ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.