更新后的MySQL触发器 - 如果列不为null则更新

时间:2017-08-24 17:56:02

标签: mysql triggers phpmyadmin

我想更新一列"状态"更新记录后,仅当四个特定列不为空时。这是我的触发器,但它无法正常工作。

CREATE TRIGGER `after_thesis_rate_upade`
AFTER UPDATE ON `theses` 
FOR EACH ROW IF (new.promoterRate IS NOT NULL AND new.promoterNote IS NOT NULL AND new.reviewerNote IS NOT NULL AND new.reviewerRate IS NOT NULL) 
THEN 
UPDATE theses SET new.status="Oceniona" WHERE old.id=new.id;
 END IF;

当我更新这些列时,状态列仍然是相同的,当尝试更改MySQL中的值phpMyAdmin时抛出错误'无法更改因为设置了触发器'。你能告诉我出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

您不会修改触发器触发触发器的表格;只需在SET上使用NEW.fieldnames语句。

IF some_condition THEN
  SET NEW.blah2 = 'something or other';
END IF;