我想更新一列"状态"更新记录后,仅当四个特定列不为空时。这是我的触发器,但它无法正常工作。
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时抛出错误'无法更改因为设置了触发器'。你能告诉我出了什么问题吗?
答案 0 :(得分:0)
您不会修改触发器触发触发器的表格;只需在SET
上使用NEW.fieldnames
语句。
IF some_condition THEN
SET NEW.blah2 = 'something or other';
END IF;