我的触发器如下所示:
begin
IF ((NEW.tgebucht >= NEW.tteilnmax) AND (NEW.tgebucht!=0) AND (OLD.tstatus=0)) THEN
SET NEW.tstatus = 1;
ELSEIF ((NEW.tgebucht < NEW.tteilnmax) AND (OLD.tstatus=1)) THEN
SET NEW.tstatus =0;
END IF;
IF ((0,25*NEW.tteilnmax)>=(NEW.tteilnmax-NEW.tgebucht)) THEN
SET NEW.trestplatze =1;
END IF;
end
我收到这样的错误:
Operand should contain 2 column(s)
我不太清楚为什么,我知道它与第二个 if 有关,但我无法配置在哪里,有人知道要更改什么吗?我在这里做错了什么吗?任何帮助将不胜感激。
最佳答案
语法看起来不错。但下一行有一个隐藏的错误 -
IF ((0,25*NEW.tteilnmax)>=(NEW.tteilnmax-NEW.tgebucht)) THEN
您应该使用“.”作为点分隔符 -
IF ((0.25*NEW.tteilnmax)>=(NEW.tteilnmax-NEW.tgebucht)) THEN
关于mysql触发器操作数应包含2列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24197534/