Я пытаюсь написать триггер в mysql, который запускается после вставки в таблицу. После вставки оно принимает значение из столбца attrValue, где attrType равно 'datetime', и обновляет другой столбец с именем attrMd.После запуска триггера в mysql
Это моя попытка сейчас, но он продолжает говорить, что у меня есть значение синтаксиса в строке 4:
1064 - у Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '' по строке 4
Я не могу понять это. Буду признателен за любую оказанную помощь. Спасибо ...
CREATE TRIGGER upd_check BEFORE INSERT ON def_servpath_0001_weatherstation
FOR EACH ROW
BEGIN
DECLARE someString text;
FOR EACH ROW
BEGIN
IF NEW.atrType = 'datetime' THEN
SET @someString := NEW.atrValue;
END IF;
END;
FOR EACH ROW
BEGIN
IF NEW.atrType <> 'datetime' THEN
SET NEW.atrMD = someString;
END IF;
END;
END;//
я написал после вставки, но перед тем вставкой. Извините ... –
Где вы запускаете триггер? mysql cli/phpmyadmin? и что именно должен делать триггер, его довольно запутанный из данного кода. Пожалуйста, добавьте дополнительную информацию об этом. –
Я запускаю его на phpmyadmin. Предполагается, что триггер обновляет столбец attrMd с объявленной переменной someString. someString принимает значение из столбца attrValue, если заданное условие заполнено ... –