Триггер не работает с MySql

0

Я написал этот код:

CREATE TRIGGER testT BEFORE INSERT ON test3 
FOR EACH ROW 
IF NEW.a> NEW.b
THEN NEW.a=0

в mysql и table test3 (a, b)

что я хочу, если пользователь вставил a и b в test3 и a> b, тогда a станет 0, как я должен это написать? Потому что в настоящее время этот код не работает, и im get MySQL сказал:

. # 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с.a = 0 в строке 2

Теги:
triggers

1 ответ

2
Лучший ответ

Это не правильный синтаксис для триггера, вы забыли использовать SET. Попробуй это:

CREATE TRIGGER testT 
BEFORE INSERT ON test3 
FOR EACH ROW 
 IF NEW.a> NEW.b
  THEN SET NEW.a=0;
 END IF;
  • 0
    теперь он выдает эту ошибку: MySQL сказал: # 1064 - у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '' во второй строке
  • 0
    Извините, я забыл END IF - посмотрите на мой отредактированный ответ
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню