当我尝试运行我的表/触发器创建脚本时,我收到以下错误:
ERROR 1064 (42000) at line 19: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET NEW.fines_remaining = NEW.total_fines;
END IF;
END' at line 5
以下是导致错误的CREATE TRIGGER代码:
DELIMITER //
CREATE TRIGGER fines_trigger BEFORE INSERT ON student
FOR EACH ROW
BEGIN
IF TUPLE.fines_remaining > TUPLE.total_fines
SET NEW.fines_remaining = NEW.total_fines;
END IF;
END; //
DELIMITER ;
我无法弄清楚为什么会发生这种情况,我觉得语法很好,但显然不是因为抛出了一些错误 .
编辑:发布后我立即注意到在我弄清楚'OLD'和'NEW'之前我仍然使用了这些TUPLE'变量' . 我正在改变它们,并会暂时更新 .
1 回答
在if条件之后你缺少
then
此外,我在上面的触发器中使用new和old更改了
TUPLE
,您可能需要根据需要调整逻辑 .