2017-08-28 2 views
0

特定の列が更新されたときに基本的に情報をアーカイブするトリガを設定しようとしています。これは、term_date_schedule列が変更されるたびに、とloginscheduleテーブルからschedule_archiveテーブルに移動することです。しかし、それは起こっていません。私はMySQLにとって非常に新しいので、おそらく明らかなものがありません。MySQLのAFTER UPDATEトリガが起動しない

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

関連する問題