2013-12-10 3 views
1

Мой триггер выглядит следующим образом:MySQL триггер операнд должен содержать 2 колонки

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) 

Я действительно не знаю, почему, я знаю, что это связанный со вторым, если я не могу настроить, где, кто-нибудь имеет представление, что изменить? Я здесь что-то не так? Любая помощь будет оценена по достоинству.

ответ

2

Синтаксис выглядит хорошо. Но есть скрытая ошибка в следующей строке -

IF ((0,25*NEW.tteilnmax)>=(NEW.tteilnmax-NEW.tgebucht)) THEN 

Вы должны использовать '.' как точечный разделитель -

IF ((0.25*NEW.tteilnmax)>=(NEW.tteilnmax-NEW.tgebucht)) THEN 
+0

LOL, теперь я смеюсь над собой, потому что я попытался это один час назад, и это не сработало, и чем я изменил синтаксис и забыл, чтобы изменить это, ха-ха, спасибо lot :) – enigmaticus

+0

@julie smith Добро пожаловать) – Devart

Смежные вопросы