私は2つのテーブルを持っています。 1はゴルフコース、もう1つはコースのホールです。テーブルgolf_courses
には5レコード(5ゴルフコース)があります。表golf_holes
には、5つのコース(90レコード)ごとに18のレコードがあります。私は、コースを削除するときに18ホールを削除するトリガーを作成しました。しかし、私はそれを実行する方法を知らない。ここで2つのテーブルから削除するトリガを作成しました。トリガーを実行するにはどうすればよいですか?
は私のトリガーです:
Delimiter $$
CREATE TRIGGER remove_course
AFTER DELETE ON golf_courses
FOR EACH ROW
BEGIN
DELETE FROM golf_holes
WHERE golf_holes.golf_id = old.golf_id;
END $$
DELIMITER ;
は、どのように私はこのトリガーを呼び出す/実行するのですか?
申し訳ありませんが、周りに包まれたラインを実現didntのがあるかもしれないので、私は – PSDockery
...
before delete
を実行するための区切り文字を、それを設定したい$$ CREATE TRIGGER remove_course after after golf_courses各行ごとに削除するgolf_holes WHERE golf_holes.golf_id = old.golf_id; END $$ DELIMITER; – PSDockery「トリガ」という言葉は、何かが起こったことを示唆しているからです。それはあなたがそれを実行しないことを意味します。プログラムを実行します(したがって、ストアドプロシージャという言葉は、手動で呼び出します)。トリガーは**トリガーされます**。あなたは 'AFTER DELETE'を書いたボディーを書いたことさえあります - それは削除が起こった後に**トリガーされる**ことを意味します。イベントは時間コンポーネントが満たされたときなどに実行されます。私はあなたに何が混乱しているのかはわかりませんが、トリガーが必要で、それを作成する方法を知っていたので、 –