に追加されたときに自動的にテーブルを更新するために、私はテーブルを持っている:どのような値がSQL
vacation_days:
id name work_days hire
-------------------------------------
1 John 369 20151226
2 Mike 767 20141123
3 Josh 1166 20131020
雇う取得するための式があります:
UPDATE vacation_days SET work_days = DATEDIFF(CURDATE(),DATE(hire))
をしかし、新しい行を追加すると、ヌル値が得られます。
id name work_days hire
-------------------------------------
1 John 369 20151226
2 Mike 767 20141123
3 Josh 1166 20131020
4 Richard NULL 20120623
私はそうのようなトリガを使用しようとしました:私はエラーを取得するしかし
CREATE TRIGGER onInsert BEFORE INSERT ON vacation_days
FOR EACH ROW
BEGIN
SET NEW.work_days = DATEDIFF(CURDATE(),DATE(hire))
END;
:
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near
''vacation_days' FOR EACH ROW SET work_days = DATEDIFF(CURDATE(), DATE
(NEW.hire))' at line 1