我想在插入表后运行的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上运行它。触发器应该用声明的变量someString更新列attrMd。如果满足给定条件,someString会从列attrValue中取值... –