2017-08-28 50 views
0

我想設置一個觸發器,基本上會根據何時更新某個列來存檔信息。每當term_date_schedule列發生更改時,應該將schedule_idloginschedule表移動到schedule_archive表。但是,這並沒有發生。我對MySQL非常陌生,所以我可能錯過了一些明顯的東西。MySQL後更新觸發器沒有激發

CREATE DEFINER=`user`@`%` TRIGGER employee_term 
AFTER UPDATE ON schedule 
FOR EACH ROW 
BEGIN 
    IF NEW.term_date_schedule <=> OLD.term_date_schedule THEN 
     INSERT INTO schedule_archive(schedule_id, login) VALUES(old.schedule_id, old.login); 
END IF; 
END 
+1

什麼是'<=>'?改用'<>'來代替。 –

+1

嘗試:[db-fiddle](https://www.db-fiddle.com/f/gnobwSgVvtqEh9eaCdioqf/0)。 – wchiquito

+0

@AnkitBajpai它做到了!非常感謝。我知道這會是一些愚蠢和簡單的事情......想作爲回答發佈? – Aldentec

回答

1

什麼是< =>?改爲使用<>。

+0

這樣做!謝謝。 – Aldentec

+0

['<=>'](https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#operator_equal-to)與運算符等價的NULL安全。 – wchiquito