我想在插入表後運行的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中取值... –