道歉含糊的標題觸發器 - 希望這解釋更好:MySQL的IF邏輯中,與新老
下面的觸發更新後起火(如設計),但兩個IF
語句射擊時既不prospectid
或propertyid
字段已更新。
所以第一個問題是,IF
邏輯有什麼問題嗎?我記得<>
vs <=>
...有一些問題嗎?
CREATE TRIGGER myTrig AFTER UPDATE ON t_enquiries
FOR EACH ROW
BEGIN
IF (NEW.prospectid <=> OLD.prospectid) OR (NEW.propertyid <=> OLD.propertyid) THEN
IF (NEW.prospectid IS NOT NULL) AND (NEW.propertyid IS NOT NULL) THEN
INSERT INTO t_prospect_property_link (prospectid, propertyid, remaininginspections) VALUES (NEW.prospectid, NEW.propertyid, 10)
ON DUPLICATE KEY UPDATE subscribed = 1, remaininginspections = 10;
END IF;
END IF;
END
如果我IF
語句都ok,當然這聲明,將觸發該觸發器不是導致prospectid
和propertyid
領域做一些事情,使IF
評估真正???
UPDATE t_enquiries SET recordstatus = 3, enquirystatus = 1 WHERE id = xxx;
的[這是什麼操作<=>在MySQL?]可能的複製(http://stackoverflow.com/questions/21927117/what-is-this-operator-in-mysql) – Ravi